Copyright: Copyright © 1995, Borland Internatioanl, Inc.
Citation: Visual dBASE Companion Products. © 1995, Borland International, Inc.


Contents

Services	Products

Technical Support	Visual dBASE

Contacting Borland	Visual dBASE Compiler

Authorized Training Centers	Visual dBASE Client/Server

Borland Connections Programs 	InterBase Workgroup Servers

World Wide Web - Internet	Local InterBase Deployment Kit

CompuServe	Borland SQL Link Deployment Kit

FREE Electronic News Letter	ReportSmith

dBASE Advisor	Crystal Reports

Inside Visual dBASE	Borland Resource Workshop

Books	ForeHelp - help authoring

dBASE Custom Controls (CC's)

Visual Basic Controls (VBX's)

Updates to this file	Professional Programming Tools


Training Upgrade

Borland Developer Connection and SI/VAR Connection members may upgrade to the Borland Training Connection program for US $500. The Training Connection upgrade provides:

·	Flexible training licenses which permit you to install up to 40 copies of your Borland software on your training machines

·	Discounts on Borland courseware (distributed through Logical Operations)

·	You will receive targeted leads as a Training Connection member, as well as the leads received under your current member status

·	Listing in the Borland Connections Directory as a Training Connection member

Connections


dBASE Advisor

The answers you need are in dBASE Advisor. The magazine for Visual dBASE users. dBASE Advisor comes to you from the same team that produces Data Based Advisor, the magazine for developing corporate applications at the desktop.

dBASE Advisor is the magazine that teaches you how to use all the power of Visual dBASE productively. We Help you make the best use of this remarkable product to get the job done. Get the Visual dBASE technical help you need by subscribing today!

Each issue of dBASE Advisor is crammed with information for users of all levels, from novice to expert. Wherever you start, we'll help you become a skilled user of Visual dBASE. Click here to see an Example Article.

  -	Learn object programming through Visual Designers

  -	Create table relations visually

  -	Use true event driven programming

  -	Master Visual Inheritance in the Form Designer

  -	Create powerful cross tabs

  -	Visually use and design custom controls in Visual dBASE

  -	Incorporate multi-media into your applications

  -	Build multi-user applications  that share information across the organization

  -	Learn techniques for scaling application in Windows to client/server

Don't miss an issue. Mail, fax or call now to start your subscription to dBASE Advisor Magazine.

Mail :	dBASE Advisor Magazine

PO Box 469025

Escondido CA, 92046-9853

United States of America

Phone :	In the US :	 	1-800-336-6060

From outside the US :	1-619-483-6400

FAX :	From anywhere	619 483 9851

Electronic Mail :	From CompuServe type "GO DB"


Inside Visual dBASE

The Cobb Group's exclusive how-to publication for Visual dBASE users. This monthly journal shows you how to :

  -	Build applications without programming using Experts and Builders

  -	Design your own custom controls within the Form Designer

  -	Incorporate VBX controls in your applications

Each month, Inside Visual dBASE offers concise articles with step-by-step directions and illustrations to help you work smarter with Visual dBASE. Our information packed journal covers topics such as :

  -	Generating source code using Two-Way-Tools

  -	Manipulating multi-page forms

  -	Integrating Visual dBASE with Delphi, Paradox and ReportSmith

  -	Speeding development using Visual Property Builders

  -	Using the MS Help Compiler to customize Windows help files

  -	Learning to use client/server development tools

You know Visual dBASE is a powerful development environment. Send for your FREE ISSUE of Inside Visual dBASE today and find out how to take advantage of all the powerful and flexibility that Visual dBASE offers. You can contact us in one of the following ways. Click here to read an Example Article.

Mail :	Inside dBASE for Windows

The Cobb Group

PO Box 35160

Louisville KY 40232-9719 USA

Phone : 	(800) 223-8720

Electronic Mail : 	inside_visual_dbase@merlin.cobb.ziff.com.


Visual Basic Custom Controls
Visual Basic Controls (VBX's)

Visual dBASE supports 2 major types of Custom Controls. They are Visual Basic Custom Controls (VBX Controls or VBX's) and custom controls written (or visually designed in the Form Designer) in the Visual dBASE language (CC's).

VBX Controls are user interface objects written in C, C++, Pascal or Delphi with a .VBX extension. Like Visual dBASE custom controls, VBX controls usually enhance the appearance or extend the functionality of other controls used in forms. Visual dBASE supports VBX Version 1 controls.

Borland Visual Solutions Pack	- A collection of over 20 VBX's

VoysAccess	- Ineractive Voice Response

Delphi Link for Lotus Notes	- Integration with IBM/Lotus Notes

Fractal Compression Utility	- High quality imaging with low hard disk space

ImagN'	- Takes the headaches out of integrating graphic images

ImageBASIC	- Integrated suite of VBX's for production imaging systems

SilverWare	- Windows Communications Tool Kit

Spread/VBX 2.1	- The complete spreadsheet control for Windows


CompuServe
Come Visit us on CompuServe

We have specialized forums on CompuServe dedicated exclusively to the family of Borland products. You can download product information, sample code, template files, utilities, and the latest technical information 24 hours a day, seven days a week. Specific product families are listed below :-

GO VdBASE for Visual dBASE

GO DBDOS for dBASE for DOS

GO BORLAND for a menu of choices for other Borland products.

Alternatively, check us out on the Internet at our World Wide Web site.

Technical Support


Technical Support
Technical Support Options

Borland Support Services inside the United States

Borland Support Services outside the United States

Borland offers a wide variety of support plans and services. These range from free to fee based. The services and costs differ widely by country. Please refer to the information for your country.


Contacting Borland

Customer support, upgrade, and product information vary by country and are subject to change at any time. Please refer to your Borland representative for details.

Alternatively, you can contact Borland via CompuServe or the InterNet.

ARGENTINA	AUSTRALIA	AUSTRIA

BELGIUM	BRAZIL	BULGARIA	CANADA

CHILE	COLOMBIA	CYPRUS

Czech & Slovak Republics	DENMARK

EGYPT	FINLAND	FRANCE

GERMANY	GREECE	HONG KONG

HUNGARY	ICELAND	INDIA

INDONESIA	ITALY	IRELAND

JAPAN	KOREA	KUWAIT

LUXEMBOURG	MALAYSIA	MALTA

MEXICO	MOROCCO	NETHERLANDS

NEW ZEALAND	NORWAY	OTHER LATIN AMERICAN COUNTRIES

PHILIPPINES	POLAND	PORTUGAL

ROMANIA	RUSSIA	SAUDI ARABIA

SINGAPORE	SLOVENIA	SOUTH AFRICA

SPAIN	SRI LANKA	SWEDEN

SWITZERLAND	TAIWAN	THAILAND

TURKEY	UNITED ARAB EMIRATES

UNITED KINGDOM	UNITED STATES	URUGUAY


InterBase
Borland InterBase® - Scalable SQL Server

Introduction

Borland InterBase is one of the leading database server products in today's mission-critical applications marketplace. InterBase mission-critical applications include a large number of embedded systems--both VAR and corporate--in which applications are developed using InterBase as the core database management system within a specific application. Major corporate applications also utilize InterBase for their mission-critical applications which require an extremely robust system that must absolutely remain highly available. These applications may include large financial organizations, process control, telecommunications, financial trading, network management, scientific engineering, and emergency response applications. Some key InterBase customers include: Motorola, Dow Jones/Telerate, Abbott Laboratories, American Airlines, Boston Stock Exchange, MAXM, Philadelphia Stock Exchange, Ameritech/NOTIS, Westinghouse, and the U.S. Army.

Versioning Engine

InterBase supports a unique versioning engine which ensures high data availability for both transaction processing users and decision support users. Traditional database servers support the On-Line Transaction Processing (OLTP) model of database interaction, characterized by a high volume of short, simple transactions. While InterBase's versioning engine supports these short OLTP-style transactions, it is also equipped to concurrently handle long-duration, decision support-type transactions within a single server, and with high availability for all users.

The versioning engine allows for read transactions to never require a lock on the records being used and are contention-free--meaning that readers never block writers in the transaction system. Unlike other systems on the market, the read transactions in InterBase require no additional programming. InterBase gives a time-consistent, repeatable result for every query. The InterBase versioning engine allows long- and short-duration transactions to coexist and maximizes the throughput of all transactions.

Active Database

InterBase supports a number of advanced database features including triggers, server-based event-alerters, and user-defined functions to enable key business rules and functionality from directly within the database server. The benefit to having these features is that many of the commonly used data rules can now be off-loaded from the client application to the server. This results in a more efficient client application, centralized code maintenance and higher performance.

Integrity Constraints

Declarative integrity constraints efficiently and reliably maintain the integrity of data on the server and are easy for the user to prescribe. There are four categories of constraints:

•	Unique and Primary Key: This constraint ensures that no two rows in a table have the same values for the set of key columns.

•	Referential: This constraint ensures that parent-child relationships between tables are valid; that is, a set of columns in a foreign key have the same values as the primary key columns of the referenced table.

•	Check Constraint: This constraint states that the associated search condition will be valid for every row in the table.

•	Domain: Allows for the creation of new subtypes and column level integrity specification. Domains can be used to specify a range of acceptable values for a column or enumerate a list of valid values as well as default values.

InterBase 4 syntax for integrity constraints is fully compatible with the ANSI SQL92 standard. In addition, the user can specify arbitrarily complex integrity constraints.

Triggers

Combined with stored procedures, InterBase supports a powerful implementation of triggers. A trigger is a self-contained set of statements which is automatically executed whenever a row in a table is inserted, updated, or deleted. In response to a triggering condition (for example, after update), the statements associated with the trigger body are executed. The trigger body could contain one or more Execute Procedure statements. The InterBase trigger syntax supports the use of New and Old context variables which makes before and after column values for a row available. This can be used to write a trigger that, for example, ensures that no employee has a negative salary. InterBase also supports the notion of a trigger class, which is used to determine the order in which triggers are executed. This feature is useful in cases where a certain action satisfies the trigger condition of more than one trigger, and execution order is important.

Stored Procedures

A stored procedure is a set of statements stored in the database, rather than embedded in each application. Stored procedures can be executed using the execute procedure statement by specifying the procedure name and a list of parameters, if any. A variety of statement types are allowed in a stored procedure, including SQL, control flow, and declaration statements. Stored procedures offer the following advantages:

•	Performance: Stored procedures can lead to dramatic performance improvements by off-loading commonly used business rules to the server.

•	Code Sharing: A common piece of code, once written and stored in the database, can be used by any application that connects to the database.

•	Reliability: Code sharing leads to modular design, making the job of maintenance easier. Because the code is centrally defined once, and used by all the applications, the chance of data becoming corrupted by misbehaved applications is minimized.

The InterBase 4 stored procedure syntax follows the proposed ANSI/ISO SQL3 standard. This includes support for begin..end, if..then..else, while, for, when, and declare statements as well as SQL statements: select, insert, update, and delete. Exceptions, which are user-defined error conditions, can be defined and raised inside stored procedures. Exceptions and standard error conditions can be trapped using the when statement which then executes the statement body associated with it. Stored procedures can be nested; that is, a stored procedure may be called from inside another stored procedure. InterBase stored procedures may also be recursive. This is a particularly useful feature for component processing, such as bill-of-materials.

Event Alerters

InterBase's trigger syntax can also be used to post an alert, which in turn posts an event to the InterBase event manager with a particular event name. Event Alerters enable the database to function as an active database which automatically notifies interested processes when a change of interest takes place. For example, when a quantity-on-hand field in an inventory table goes below a certain quantity, a trigger can cause an E-mail message to be sent to the purchasing manager. Event Alerters save development time and provide for a more efficient application design.

Distributed Database

InterBase offers the capability to perform a distributed automatic 2-phase commit (2PC). It enables users to automatically achieve a high degree of reliability in a distributed database environment and offers the required transparency that users expect from an industrial-strength database. This important feature takes the traditional 2-phase commit process one step further. InterBase is the first database product to provide distributed recovery from a 2-phase commit. This ensures full recovery without a single point of failure, because the status of the commit is distributed among all the servers.

International Features

InterBase allows a number of international character sets for data storage and manipulation. Both 8-bit and 16-bit character sets are supported for all string and BLOb operations. A default character set and collation order can be specified for the database as a whole. These can be overridden for a particular column of a given table. Collation can also be specified with the Order By clause in Select statements. String literals with a character set name prefix can be used to specify international character data. The benefit of the new InterBase 4 international features is that it is easy to implement international language set applications for worldwide deployment.

Ease of Use

InterBase offers high-end database functions and installs in minutes. It has a smaller footprint compared to competitive products and requires far less disk space, making it attractive for corporate customers, VARs, and ISVs for developing and deploying mission-critical applications. InterBase is a low-maintenance database. Its self-tuning features offer the most optimal performance, eliminating the need for a professional DBA at each user site where the database is deployed. InterBase offers on-line backups and immediate recovery after failure for customers with high-reliability requirements.

Competitive products are more complex, require advanced system administrative skills to install, need large amounts of disk and memory space, and are difficult to maintain.

InterBase on Intel

Novell's NetWare is an important new platform for InterBase 4. InterBase 4 runs as a Novell NetWare Loadable Module (NLM). All client applications talk to a single NLM on a NetWare server, which coordinates database access and facilitates sharing of database buffers. InterBase makes efficient use of the Novell file system and takes advantage of NetWare features to deliver superior performance for both transaction processing and desktop applications. Both IPX and TCP/IP protocols are supported for communications.

Additional Intel-based platforms for InterBase include: Microsoft Windows NT and the Local InterBase Server (available in the Visual dBASE Client/Server product) for MS Windows 3.1.

Ordering Information


Borland application support


Local InterBase Server
Deploying InterBase based applications

Local InterBase Deployment Kit

This extra kit provides Visual dBASE Client/Server developers with a one time, unlimited license to distribute applications which use the Local InterBase Server for MS Windows 3.1.

The benefits of deploying with the Local InterBase Server include:

•	Unlimited distribution of the local server

•	Full ANSI SQL-92 compatibility

•	Easy updating of remote servers from portable PC's

How it works

Scale up to the InterBase Workgroup Server 4.0

Deploy your applications for workgroup use with separately available InterBase Workgroup Servers available for Windows NT, Novell NetWare (NLM), and UNIX.  Fully ANSI SQL-92, self tuning, and easy to install.

For pricing and availability please call:

 1-800- 245-7367 ext. 1297 (US Customers)

 1-800-245-7367 (Canadian Customers)

Visual dBASE Client/Server users outside the US and Canada, please refer to your local Borland office.


Application Form
Borland Connections Application Form - New Member

IMPORTANT:

This form MUST be printed and faxed directly to Borland International, Inc. Fax number: (408) 431-4142

Getting connected to Borland is easy. Here's what you need to do to become a member

Connection Member Desktop Programs

•	Complete this Application Form.

•	Indicate that you are joining as a Connection Member Desktop Progam.

•	Choose Visual dBASE, Paradox, Borland C++, Delphi or ReportSmith.

•	Complete the Borland Connections Program Agreement.

•	Complete Program Order form and Mail with check or purchase order

Base requirements for acceptance into the Developer Connection are:

•	You generate at least 25% of your revenue from software applications you develop for resale or from consulting services.

•	You already own a copy of the product and/or products.

Connection Member Client/Server Program

•	Complete this Application Form

•	Indicate that you are joining as a Connection Member Client/Server Program

•	Choose Delphi Client/Server or Visual dBASE Client/Server

•	Complete the Borland Connections Program Agreement. •Complete Program Order form and Mail with check or purchase order

Base requirements for acceptance into the Developer Connection are:

•	You generate at least 25% of your revenue from software applications you develop for resale or from consulting services.

•	You already own a copy of the product and/or products.

•	You have an E-Mail address.

Training Connection

•	Complete this Application Form

•	Indicate that you are joining as a Training member

•	Complete the Borland Connections Program Agreement

•	Complete the Training Addendum

•	Mail with check or purchase order for $1,500.00 plus, applicable state tax.

Base requirements for acceptance into the Training Connection are:

•	You prove that you provide ongoing public training services.

•	You have an E-Mail address.

Which Connections program are you applying for?

Desktop Products Developer: (First program $750.00 each additional desktop program $350.00) (circle one)

•	Visual dBASE

•	Paradox

•	Borland C++

•	Delphi

Client/Server Developer: ($1,500, plus freight and tax) (circle one)

•	Delphi Client/Server

•	Visual dBASE Client/Server

Training: ($1,500, plus tax) (circle one)

•	What products will you be training on?

•	Visual dBASE

•	Paradox

•	Borland C++

•	Delphi

------------------------------------------------------------------------

If you have not already, please be sure to register your existing products.

Company Information:

Company______________________________________________________

Tax ID number_________________________________________________

(Must be included; Social Security number is valid if Tax ID number is not applicable.)

Address _______________________________________________________

______________________________________________________________

City ________________________________ State _________ Zip ____________

Shipping address (if different from address above - cannot be a post offfice box):

Address________________________________________________________

______________________________________________________________

City ________________________________  State __________Zip ___________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Contact Information:

Company contact: President/Owner:

Name ______________________________________Title___________________________________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Primary Connections Program Contact

(receives key program communications and deliverables from Borland)

Name ______________________________________ Title ___________________________________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Technical support contacts:

Name _______________________________________ Title__________________________________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Have you attended product Training Classes?             Yes             No

For which Borland Product?__________________________________________________________

Where?______________________________________________________________________________

Training Connection:

Applications

Name _______________________________________ Title__________________________________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Languages

Name _______________________________________ Title__________________________________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Advisor Line

Name _______________________________________ Title__________________________________

Phone ______________________Fax ______________________Toll-free number______________________

E-Mail address_________________________________________________

Business Information:

Date business established _______ / _______ / _______

Number of employees:__________

------------------------------------------------------------------------

Employee Totals                                  Number

Total Number of Developers                     __________

Total Number of Technical                      __________

Support

Total Number of Training                       __________

Instructors

Total Number of Sales                          __________

Total Adminstrative Others                     __________

Total Number Employees                         __________

------------------------------------------------------------------------

How long have you been working with Borland products (years):          __________

Working with Borland Product                      Years

Developers                                     __________

Training                                       __________

Consulting                                     __________

Reselling                                      __________

------------------------------------------------------------------------

Which of the following describes your primary business?

(Check one only)

•	Develop custom applications for clients

•	Develop custom applications for internal usage

•	Develop custom applications by integrating multiple software products

•	Develop applications for resale

•	Provide consulting services for clients

•	Develop tools and utilities

•	Train on use of software

•	Resell offtheshelf hardware and software

Annual sales revenue/year $ ______________________________________

What is the revenue mix of your business? (must total 100%)

Applications development _________ Consulting _________

Training _________ Support _________

Packaged software _________ Hardware _________

Rank the order you purchase product from each distributor, 1 is the highest.

Ingram _____ Merisel _____ Tech Data ______

In what other Developer, VAR or Training programs are you currently

a member?

•	Novell - Authorized IBM Business Partner Lotus Business Partner

•	Novell - Gold Microsoft Solutions Provider Lotus Premier Partner

•	Novell - Platinum SYBASE Lotus Applicaition & Service Provider

•	Novell - Enterprise Consulting Informix Lotus System & Network

Partner

•	Orcale Business Alliance Partner

List any other Vendor Certifications you currently hold: (specify level)

Vendor Level

_____________________________________ _____________________________________

_____________________________________ _____________________________________

Attach any additional information or brochures which provide

background on your company.

Product Information:

Name of product or service____________________________________________________

Industry ___________________________________________________________________

Date of first installation _________________________________

Number of installations ___________________

Language/database written in __________________________________________________

Name of product or service ____________________________________________________

Industry ___________________________________________________________________

Date of first installation _________________________________

Number of installations ___________________

Language/database written in __________________________________________________

Training Information:

If you offer training, which of the following best describes your

business model:

___Independent Instructor ___Training Center ___For Profit Continuing Education

___Developer of Training Products ___Other _______________________________________

Attach a copy of your company brochure and the most recent training schedule which shows the full range of courses you currently offer.

Customer References

We are committed to partnerships which deliver quality solutions to our mutual customers. Please list three customer references

who can endorse products and/or services that you have provided in the last year. You are also encouraged to attach letters of recommendation you have received from your customers and clients.

Company ______________________________________________________________________

Contact ________________________________________________________________________

Address ________________________________________________________________________

_______________________________________________________________________________

City ____________________________________State _________ Zip ______________________

Phone _____________________________________________________

Company ______________________________________________________________________

Contact ________________________________________________________________________

Address ________________________________________________________________________

_______________________________________________________________________________

City ____________________________________State _________ Zip ______________________

Phone _____________________________________________________

Company ______________________________________________________________________

Contact ________________________________________________________________________

Address ________________________________________________________________________

_______________________________________________________________________________

City ____________________________________State _________ Zip ______________________

Phone _____________________________________________________

Signatures

I am an officer of the above listed company and have read and agree to the terms and conditions contained in the Borland Connections Agreement(s).

Signature ______________________________________________________

Date ____________________________

Name _____________________________________  Title ___________________________________

Attach this application, along with your signed Connections Program Agreement, check, purchase order, or credit card number (VISA,  MasterCard, or American Express) and mail to the address below. [IMPORTANT NOTE: If you are applying for the Training Connections Program, make sure you also include the Training Addendum.]

Credit card number ________________________________________

Expiration date _____ /______

Signature ______________________________________________________

Date ____________________________

Name as it appears on credit card __________________________________________________

Printed name __________________________________________________

Title _____________________________

Borland Connections

Borland International, Inc.

P.O. Box 660001

Scotts Valley, CA 950679970

Borland ensures your complete satisfaction via a 30day moneyback guarantee on any Connections program you select.

If you have any questions on any of the Borland Connections programs, please call our Connections Line at 1-800-353-2211.

Participation in all programs is subject to Borland's approval. Please allow four weeks for processing.


Introduction to the RAPId Class Library

If you are a registered user of Crystal Reports 4.0 or the Crystal Reports for dBASE Developer’s Pak, you have a free runtime license to include the Crystal Reports Print Engine with your dBASE applications. The Print Engine is a Dynamic Link Library (DLL) that provides a robust interface (API) to dozens of report writing functions. Using the Crystal Reports Print Engine you can add powerful report writing functionality to your applications with a minimum amount of code.

The Problem the RAPId Class Library Addresses

The Solution - the RAPId Class Library for Visual dBASE

The RAPId Class Library does two things:

Sample application

Documentation

Runtime license

Pricing and Availability


ReportSmith 2.5

ReportSmith is a WYSIWYG, client/server reporting and query tool that empowers users to create spectacular reports easily, regardless of their database expertise. With a robust set of features and connectivity to all major data sources, ReportSmith is the reporting solution of choice.

Live data reporting

Great-looking reports have never been easier

The most powerful reporting tool on the market

Even end users can query their database

True client/server power

Seamless integration and customization

ReportSmith at Work (State of Maine)

ReportSmith 2.5 Specifications

Ordering Information


World Wide Web

To obtain information about Borland products on the Internet, connect to Borland Online, our World Wide Web site. You’ll have access to our FTP site, which contains technical information and user support forums. Borland Online also provides product news and information, version releases, companion products, informative white papers, technical documents, product launches, industry conferences, and much more, anytime day or night. Most of the information in this help file was gathered from our Web site, and the most up to date information will always be available on our Web site.

Borland Online on the World Wide Web (WWW) is at http://www.borland.com/

Visual dBASE Product Information home page is at "http://www.borland.com/Product/DB/dBASE/VisdBASE.html"

Visual dBASE Technical Support home page is at "http://www.borland.com/TechInfo/dbase/dbwin.html"

Visual dBASE Forum on CompuServe by typing "GO VdBASE" at the GO prompt

Technical Support Programs


http://www.borland.com/
Point your Web browser at this address to visit us anytime of day or night


Live data reporting

With ReportSmith, end users work directly and interactively with their "live" data onscreen, instead of with placeholders or Xs and 9s as in traditional banded report writers. WYSIWYG "live" data functionality is available throughout the report creation process not just during print preview or in conjunction with a few selected features. Discover how easy it is to design the reports you need when what you see is really what you get in your report!

ReportSmith 2.5


Databases supported

ReportSmith is the perfect companion to popular SQL databases, including InterBase (r), Oracle 6 & 7, Sybase SQL Server, Gupta SQLBase, Informix (r), Ingres, DB2 (through the MDI, OmniSQL, or Gupta gateway), and Teradata (through the MDI gateway)*

Your database companion to popular PC databases, including dBASE (3.x, 4.x, and Visual dBASE), Paradox (3.x, 4.x, and 5.0), Btrieve, Access, FoxPro, and Excel ReportSmith is ODBC-enabled for access to other third-party databases* Save your reports in ASCII and common spreadsheet formats

*These features are not available in ReportSmith for PC Databases.

ReportSmith 2.5 Specifications


Great-looking reports have never been easier

Regardless of their level of expertise, users can build sophisticated, formatted reports fast with ReportSmith's default report templates and predefined report styles. Prebuilt templates support columnar, crosstab, form, and mailing label formats, while report styles combine borders, patterns, fonts, and colors to provide fast, single-click formatting. Choose a template, apply a style, and you've created a polished report fast! Or, use ReportSmith's powerful formatting and editing capabilities to create custom reports and styles that meet your specific corporate standards.

ReportSmith 2.5


The most powerful reporting tool on the market

Clearly display summary information using ReportSmith's crosstabs. Layer multiple rows and columns and directly edit or pivot the data as needed. Create multiple value crosstabs, such as a financial report that shows budget, actual costs, and the variance, and place dynamic crosstabs in headers and footers. ReportSmith even allows you to create reports containing more than one report format! Show crosstabs in form reports, multiple crosstabs, or any other combination you need to clearly display your information.

Use ReportSmith's power to calculate derived fields and summary values in your reports, and to apply aggregate functions, such as sum, average, minimum, maximum, count, first, and last. Perform multilevel sorts in ascending or descending order, and sort by value or custom group specifications.

ReportSmith 2.5


Even end users can query their database

ReportSmith provides users with the ability to query their databases without knowing SQL. Drag-and-drop query capabilities allow users to drag data from the surface of their report directly to a query window to create new queries. Additionally, ReportSmith's hypertext feature allows users to select from English phrase lists to build queries instead of using SQL or other database languages.

NEW! Master/Detail Reporting lets users link multiple queries together, even across heterogeneous data sources. For example, a bank statement report could include a master query returning customer names from dBASE, while detail queries provide savings account data from Oracle, and checking account information from Sybase, for each customer. ReportSmith supports an unlimited number of queries in a Master/Detail report.

ReportSmith 2.5


True client/server power

No matter how large your report is, ReportSmith will finish the job. ReportSmith is powerful enough to handle very large databases that may be too large for other report writers to handle. Unique client/server memory management technology allows ReportSmith to choose where the data result set is storedin local client memory, on the client hard disk, or on the server.

To create reports fast against large databases, True Draft Mode enables you to build and modify reports using a subset of the database, dramatically reducing processing time. And for further performance improvements, ReportSmith now offers NEW! local and server processing options, allowing the user to choose the fastest location for sorting, grouping, and summary operations.

NEW! Data Dictionary capabilities make reporting easier by letting administrators simplify the view of the database for end users. Predefined Data Dictionary views and aliases for tables and fields streamline data access and reduce opportunities for user error. ReportSmith also allows for the creation of formatted field headings.

ReportSmith 2.5


Seamless integration and customization

ReportSmith gives users and developers the tools they need to build advanced reports by providing an embedded macro language, support for Object Linking and Embedding (OLE) 2.0, and Dynamic Data Exchange (DDE). Use ReportSmith's OLE 2.0 support to create compound reports with multiple embedded objects such as charts, graphs, bitmaps, or sound bites and then perform in-place editing.

ReportSmith's embedded macro language offers customization for DDE calls and seamless integration with other front end Windows development applications, including Visual Basic, PowerBuilder, Borland (r) C++, Paradox (r), and dBASE (r). Customize menus, dialog boxes, and user-interface procedures; or call Dynamic Link Libraries (DLLs) to extend the product's functionality for specific applications.

Finally, distribute prebuilt reports throughout your organization with ReportSmith's NEW! View and Print Runtime engine, included free!

ReportSmith 2.5


ReportSmith at Work (State of Maine)

State of Maine(USA)

To protect its natural resources, the State of Maine's Department of Environmental Protection (DEP) must process and track a mountain of information. By implementing an integrated client/server network, DEP is able to stay on top of the diverse data-handling activities and regulatory paperwork. System usersall of whom have different levels of computer experienceare able to generate reports quickly and easily from their Oracle database by using ReportSmith.

"Out of the half-dozen products reviewed, ReportSmith best satisfied all our criteria. The software provides a consistent look and feel that is compatible with our other Windows-based packages. Its flexibility and ease of use allow a casual user to call up a menu, click on "canned" reports, and have the information on their desktop. Power users with no SQL knowledge can take advantage of the full capabilities of the tool and generate ad hoc reports. In addition, ReportSmith provides a consistent interface to Xbase and Oracle database products, thereby providing desktop interoperability with our whole environment. Taken together, ReportSmith's many advantages enable people here to stay on top of their workload without having to wait for an MIS specialist to do the job for them. Since implementing ReportSmith, people are working much more efficiently and effectively. They're getting the information they need in the format they want, and they're getting it quickly." --Wayne Gallant Division of Computer Services, DEP

ReportSmith 2.5


ReportSmith 2.5 Specifications

Databases supported

Reporting functions

Crosstab functions

Format and edit

Query functions

Data Dictionary

Application development

System requirements

ReportSmith 2.5 Contents


Reporting functions

Unlimited report sizes, even those larger than the memory capacity of the client workstation;

Unlimited number of tables per report

Extensive calculation capabilities support summary values, derived fields, and macros

Visual linking capabilities for instantly and intuitively joining additional data to your report

Composite buttons consolidate common report creation tasks

Apply aggregate functions such as sum, average, minimum, maximum, count, first, and last to your data

Perform multilevel sorts in ascending or descending order

Place data fields or summary calculations in your report headers or footers

Local and server processing options provide increased performance for grouping, summary, and sorting operations*

True Draft Mode option cuts processing time dramatically by laying out report using a subset of the larger database

*These features are not available in ReportSmith for PC Databases.

ReportSmith 2.5 Specifications


Crosstab functions

Generate summary reports that hide detail records

Directly edit and pivot crosstabs within your report, including row and column headings

Create multiple value crosstabs, such as financial reports showing actual costs and variances

Place crosstabs in headers and footers; hide columns and rows containing sensitive data

ReportSmith 2.5 Specifications


Format and edit

WYSIWYG "live" data approach facilitates report creation see your data while you work

Report types include columnar, crosstab, form, and mailing label; use prebuilt report templates to

create reports and Avery-standard mailing labels fast

Predefined report styles combine aesthetics such as typeface, color schemes, borders, and patterns;

choose one and your report takes on an attractive and finished look instantly, or create your own

style for a custom look

Named Connection facility creates database aliases for point-and-click database access

Create field name aliases to easily remember field names

Multiple document interface provides access to multiple reports simultaneously

Context-sensitive Help puts answers at your fingertips

Movable ruler, snap-to grid, and alignment toolbox allow accurate, easy positioning of report

objects

Drag-and-drop editing facilitates report formatting

Additional formatting options include widow and orphan control, numerous pagebreak options, and

ability to hide both detail and repetitive field values

View and edit at zoom levels ranging from 25% to 400%

256-color support for .BMP, .TIF, .PCX, .GIF, and .DIB graphics formats

ReportSmith 2.5 Specifications


Query functions

Query your database and create reports in one seamless process

Query your SQL databases quickly through use of drag-and-drop and hypertext query capabilities

Master/Detail Reporting lets users link multiple queries across heterogeneous data sources

View and edit the SQL code generated by ReportSmith if you choose

Preselection facility lets users and developers select data up front, before displaying it on the screen

ReportSmith 2.5 Specifications


Data Dictionary

Simplify the data view and streamline data access for the end user

Assign business names to tables, fields, and field headings

Include or exclude specific tables and fields

ReportSmith 2.5 Specifications


Application development

Designed to integrate easily with other applications and products

OLE 2.0 support allows you to create compound reports and perform in-place editing

DDE support allows you to integrate information from other applications

ReportSmith's Visual Basic like macro language offers customization, DLL connections, and

seamless integration

Report Variables provide the ability to set up a generic report which can be customized by

prompting end users for report parameters

Free View and Print Runtime facility allows for wide distribution of reports, even to users without

ReportSmith on their desktop*

*These features are not available in ReportSmith for PC Databases.

ReportSmith 2.5 Specifications


System requirements

386 processor (486 recommended) running Windows in enhanced mode

Microsoft Windows 3.1 or later

4Mb memory minimum

At least 12Mb of hard disk or LAN file server space

Supports all printers and networks compatible with Windows 3.1

*These features are not available in ReportSmith for PC Databases.

ReportSmith 2.5 Specifications


dBASE_Adv_Example Article
dBASE Advisor Magazine Example Article

The following article appears here with thanks to the Advisor Publications Group. It is intended as a sample of the types of things you can discover to make you more productive with Visual dBASE. If you find it interesting and valuable you may want to subscribe so that you can receive regular information on Visual dBASE.

Introducing: Multi-Page Forms

Visual dBASE gives developers the ability to create multi-page forms in their applications, which is a handy way of making your apps look smooth and less cluttered.

By Ken Mayer

Visual dBASE 5.5 includes a lot of enhancements to its predecessor (dBASE 5.0 for Windows) and some new capabilities, one of which really seems to be important to a lot of developers -- multi-page forms.

While you could program your own multi-page forms in dBASE 5.0 for Windows, Visual dBASE has built them in to the Form Designer. In dBASE 5.0 for Windows, you have to write your own code to change the visible property for each object that needs to appear on the appropriate page, and it's a lot of work. In Visual dBASE, when you create or modify a form and save it from the Form Designer, you see a new property attached to the form: PageNo. This refers to the current page number of the form, and it defaults to 1.

You'll also see a new property for each object on the form, also called PageNo. Between these two properties (the one on the form, and the one for each object) you can now create multi-page forms without a lot of difficult coding. In addition, Borland has added a new object to Visual dBASE (one of several new objects, actually) that can be placed on a form -- a TabBox Control object. For this article, I'll look first at the multi-page forms themselves, and then I'll cover how to use the TabBox object.

Multi-page forms

Let's create a simple three-page form, with a couple of objects on each page of the form. To make it clear which page is which, change the colors of each page, rather than seeing each one as the same default grey (this also complicates the code a little).

To start, let's create a form in the Form Designer. The simplest method is to double-click on the Untitled icon in the Navigator. This brings up the Form Designer, a basic form, the Control palette, and (normally) the Property inspector dialog.

If the Property inspector dialog is not on the screen, you can bring it up by right-clicking on the form, and selecting Inspector. If you take a look, you'll see the PageNo property and its default value of 1.

Place some objects on the form for the first page. For this example, start with a title text object with a rectangle around it, another text object stating this is page number 1, and a couple of custom buttons -- Next and Previous. (You're going to add your own OnClick code in a bit.) Figure 1 shows the first page of the form.

Figure 1 -- Page one of a multi-page form, using buttons to navigate the pages.

Next, design the second page of the form. Click on the form, go to the Properties dialog, and change the page number (PageNo) to 2. Interestingly enough, Visual dBASE removes everything assigned to page 1 from view: This is a major improvement over the way you did this in dBASE 5.0, which left every object on the form as you worked. However, what if you want some of those objects to stay on all pages of the form?

To force an object to stay on every page of a multi-page form, you might think you have to duplicate the object, or run a routine that executes when you change pages to force the page number property to change -- not so! The solution is to set the page number property for each object you want to stay on all pages to the number 0. To make the title and rectangle, as well as the pushbuttons, all stay on all pages, move back to page 1 and change the PageNo property for each of those objects -- then move to page 2.

Next, add another text object. Notice that the PageNo property automatically defaults to the current page of the form. For fun, drop a "Shape" object on the form, and change it to an ellipse.

Now you want page 2 to be a different color than page 1. You can only store one set of ColorNormal properties for the form in the constructor code. This means that you need to set up some code to change the colors of the form as you change pages. This isn't too difficult -- I'll show the code in a moment. The page is shown in figure 2.

Figure 2 -- To get objects to carry over from one page to the next, set the object's PageNo property to 0.

And finally, let's add another page, just to add an extra layer of complexity. The third page carries over the objects with a PageNo of 0. In addition, drop a Close button on the form. Nice and simple. Make this page a different color from the others as well (figure 3). In the Form Designer, you can scroll back and forth between the pages by using the spinbox in the Properties dialog.

Figure 3 -- The third page has all the buttons with the PageNo property of 0, along with the new Close button you put on the form.

To actually make the form change pages with the Next and Previous buttons, you need to insert some code to be executed from the OnClick property of those buttons. The code should look something like this:

PROCEDURE DoNext

   form.PageNo = form.PageNo + 1

   class::NavScreen()

RETURN

PROCEDURE DoPrev

   form.PageNo = form.PageNo - 1

   class::NavScreen()

RETURN

These first two procedures are called from the OnClick property of the buttons; they simply increment or decrement the page number, and call the next procedure, which does all the work:

PROCEDURE NavScreen

   *-- deal with Previous button

   IF form.PageNo < 3

      form.PrevButton1.Enabled = .t.

   endif

   *-- disable it if we're on Page 1 ...

   IF form.PageNo = 1

      form.Prevbutton1.Enabled = .f.

   ENDIF

   *-- Deal with NEXT button

   IF form.PageNo > 1

      form.NextButton1.Enabled = .t.

   ENDIF

   IF form.PageNo = 3

      form.NextButton1.Enabled = .f.

   ENDIF

   *-- deal with page colors

   DO CASE

      CASE form.PageNo = 1

         cForeGround	= "N"

         cBackground	= "BTNFACE"

         cFormCol   	= cForeGround+"/"+cBackGround

         form.ColorNormal            	= cFormCol

         form.Rectangle1.ColorNormal	= cFormCol

         form.Title.ColorNormal     	= cFormCol

         form.Page1Text.ColorNormal 	= cFormCol

      CASE form.PageNo = 2

         cForeGround	= "RG+"

         cBackGround	= "G"

         cFormCol   	= cForeGround+"/"+cBackGround

         form.ColorNormal           	= cFormCol

         form.Rectangle1.ColorNormal	= cFormCol

         form.Title.ColorNormal     	= cFormCol

         form.Page2Text.ColorNormal 	= cFormCol

      OTHERWISE && page 3

         cForeGround	= "W"

         cBackGround	= "B"

         cFormCol   	= cForeGround+"/"+cBackGround

         form.ColorNormal           	= cFormCol

         form.Rectangle1.ColorNormal	= cFormCOl

         form.Title.ColorNormal     	= cFormCOl

         form.Page3Text.ColorNormal 	= cFormCol

   ENDCASE

RETURN

At the beginning of the routine, you're checking to see what value the PageNo property for the form holds: If you're on Page 1, you don't want your users selecting the Previous button, and if you're on Page 3, you don't want them to select the Next button, so you have to disable and enable the buttons as you navigate through the form.

If you aren't changing the colors of the pages, this is even simpler, as the whole do case/endcase structure shown can be removed (although, depending on the complexities of your form, you might need this kind of structure to handle other types of processing).

Using the tab control with multi-page forms

Tabs have become a standard interface object in a lot of software these days, and Visual dBASE now has them as a standard object in the Form Designer. In the previous multi-page example, you used pushbuttons to go from one page to another. As it turns out, there's an easier method -- a tab control.

For the example shown here, make a copy of the multi-page form previously used, and remove the Next and Previous buttons. You should also remove the procedures that were called from the OnClick events of the buttons by modifying the code in the program editor. Next, go to the custom tab on the Control palette, and double-click on the TabBox object. A single tab appears at the bottom of the form. Of course, you need to modify the properties, so go to the Inspector dialog, and make these changes:

* DataSource: Visual dBASE has what are called "literal arrays." Use one of these. This looks like:

   ARRAY {'Page 1','Page 2','Page 3'}

Of course, you can use any text at all, and you could also use a standard dBASE array. This code creates a literal array, which is used for such things as a datasource. Don't give it a name, as it is not a property of this type of array. (Check the language reference for more details on literal arrays.)

* Tell the Form Designer that this is an object that should appear on all the pages of the form by setting the PageNo property to 0.

* Tell dBASE to execute a procedure with the OnSelChange event. This is fired when the current selection is changed (in this case by clicking on a different tab). The code you want executed, among other things, changes the current page number, based on the tab selected:

     PROCEDURE TabChange

        form.PageNo=this.CurSel

        class::NavScreen()

     RETURN

And that's it -- the NavScreen() procedure is exactly the same as the previous form's version, without the code for enabling or disabling the pushbuttons.

Figure 4 shows the second page of the multi-page form you created using the TabBox control instead of pushbuttons -- rather spiffy. From a developer's point of view, there is less code involved in using the TabBox control, and from the user's point of view, it's more intuitive (the fact that the user can bounce back and forth between forms at will is rather nice).

Figure 4 -- You can use the TabBox control instead of Next and previous buttons for a sharper look.

Summary

This is just a small example of the changes Borland has incorporated in Visual dBASE. This issue of dBASE Advisor covers a lot of others. If you're familiar with dBASE 5.0 for Windows, you'll be delighted with the changes in Visual dBASE. If you aren't, you'll see that Visual dBASE is a wonderful development tool. Either way, I honestly believe you will find that Visual dBASE is the best Windows database product on the market today.

Ken Mayer is a member of Team Borland for dBASE and an Xbase developer for TRESP Associates in Oakland, California. He's also the head librarian for the dBASE Users' Function Library Project (dUFLP), which can be found in the CompuServe dBASE forums. Ken is also a rabid medieval re-creationist (SCA). CompuServe 71333,1030.


Inside Visual dBASE Example Article

The following article appears here with thanks to the Cobb Group. It is intended as a sample of the types of things you can discover to make you more productive with Visual dBASE. If you find it interesting and valuable you may want to subscribe so that you can receive regular information on Visual dBASE.

Reaching out with RUN() and a first look at DDE

by Peter A. Schickler, The Cobb Group

The Cobb Group publishes Inside Visual dBASE, a monthly newsletter covering Visual dBASE and dBASE 5.0 for Windows.

Peter Schickler is the editor-in-chief. To subscribe to Inside Visual dBASE, call (800) 223-8720 or send email to  inside_visual_dbase@merlin.cobb.ziff.com.

Visual dBASE offers a number of ways to run other programs or get data from other applications from within dBASE. First, the RUN() function lets you run other Windows and DOS applications from the command line or an application. The Windows environment offers another method for exchanging information and instructions between applications called Dynamic Data Exchange, or DDE.By using DDE, you establish links between your application and other Windows programs. You use these links to pass information between your program and any other Windows application that supports DDE.

In this article, we'll take a first look at DDE and explain how to use it within your application. We'll then build a program that updates an Excel spreadsheet with values from a sample database.

Using RUN() to start other applications

In earlier versions of dBASE, you use the RUN() function to execute non-dBASE applications from within your dBASE program. In Visual dBASE, the RUN() function performs the same task, but with added functionality. In this article, we'll examine the new parameters of this function and show how to incorporate them into your application.

The RUN() function

Borland changed the parameter usage of the RUN() function within Visual dBASE. You call the new function with a command in the form

result=RUN(win, command)

where you replace win with a logical value that denotes whether the function is calling a Windows application and command with the DOS or Windows command to execute. The win parameter must equal True when you execute a Windows program.

The return values

When you call the RUN() function, it returns a value to the calling program. If the function executes properly, the return code represents the Windows handle number for the application. If the function doesn't execute properly, the return code is always 2.

Running a Windows application

In the Windows environment, you can have many programs active simultaneously. Suppose you want to run Word for Windows from your Visual dBASE program. To do so, you use the RUN() function in the form

result=RUN(.T.,"WINWORD.EXE")

where .T. tells the RUN() function that you're calling a Windows application and ÒWINWORD.EXEÓ determines which application to execute. Figure A shows Word for Windows running as a result of the command we issued from the Command window.

Figure A

You can execute a Windows application from within Visual dBASE by using the RUN() function.

Executing a DOS command

When you want to run a DOS command from your dBASE program, you must change the first parameter setting of the RUN() function to False. For example, if you wish to run dBASE 5 for DOS, you must code the RUN() function in the form

result = RUN(.F.,"DBASE.EXE")

which tells the RUN() function to open the DOS window and execute the command DBASE.EXE in the second parameter. The screen in Figure B illustrates the resultant execution of the above command. In Figure B, dBASE 5 for DOS runs within the DOS window of Visual dBASE.

Figure B

You can execute a DOS command from your Visual dBASE program by setting the first parameter to False.

Now that we've examined the basic usage of the new-and-improved RUN() function, let's take a look at DDE.

Defining DDE

Windows applications use DDE to exchange information. Using DDE, your application can start another application, request information from  or provide information to another application, or send instructions to another application. An exchange of DDE messages between your dBASE application and another application is a DDE conversation. The receiving application is the client. The client starts the conversation and sets the topic or data.The source application, called the server, responds to the client's request. In most conversations, the receiving application requests particular data from the source, and the source application sends it. For our example application, we'll send data from our database to an Excel spreadsheet.

Defining the problem

Suppose you have a Visual dBASE database containing sales figures for a given set of products. Your accounting department, using Microsoft Excel, creates a monthly spreadsheet for management containing the product sales for each month.Rather than require the accounting department to type duplicate information into the spreadsheet, you want to establish an automatic update link between your dBASE database and the Excel spreadsheet. At the end of each month, you want the link program to select the sales figures and--using DDE--update the proper cells of the Excel spreadsheet.

Creating the database

Now that we've defined our goal, let's create the sales database called SALES.DBF, which contains contains the product code and description, the month number, and the total dollar sales for each product. The structure shown in Figure C provides us with the basic information we'll need to test our DDE program. Figure D shows the sample records we entered into the SALES database.

Figure C

The SALES database contains the total sales dollars for each product for each month.

Figure D

f

SALES.DBF contains two months of sales information.

Preparing the spreadsheet

Once you create your database, you're ready to use Excel to create an output spreadsheet called SALES.XLS. For this example, let's pass the product name and sales dollars to the spreadsheet. We'll update all product names in column B of the worksheet and the sales figures into column D.

Since the product name field is 30 characters wide, you must increase the column width to 30 characters. Click on the B column header to highlight the entire column. Then, open the Format menu and select Column, then change the value in Width... to 30. Click OK to return to your spreadsheet. Next, you must format column D to display dollar amounts. Click on the D column header to highlight the entire column. Then, open the Format menu and select Cells. Choose Number and then the 0.00 format. Click OK to return to the spreadsheet.

Finally, click cell A1, and enter January Sales for the title of the spreadsheet. Then, save the worksheet under the name SALES.XLS. Close Excel by opening the File menu and selecting Exit. Your spreadsheet is now ready to accept information from your application.

Creating a new class

In order to create a DDE conversation with your Excel spreadsheet, you must define a new class called DDELINK. Let's examine the options available within this new class. As with all other objects, you create a  DDELINK object using the NEW command in the form

mylink = NEW DDELINK()

where mylink is a memory variable that receives the return value from the NEW instruction.The DDELINK class contains many properties that pertain to different DDE actions between your program and a Windows application. For this example, we'll utilize the INITIATE(), POKE(), and RELEASE() properties of the DDELINK object.

The INITIATE() property

When you want to open a conversation with a Windows application, you must use the INITIATE() property of your DDELINK object. The INITIATE() property opens a channel of communication between your Visual dBASE application and the external Windows application.

For this example, you want your program to determine whether Excel is running. If it isn't, you want dBASE to start Excel. Then, within the INITIATE() property, you want to instruct Excel to load the proper spreadsheet for updating. The INITIATE() property returns a logical value that advises you of its successful connection. You use the command in an IF statement in the form

IF .NOT. mylink.Initiate("EXCEL", "SALES.XLS")

     ? "Connection not successful"

     RETURN

ENDIF

In this case, SALES.XLS is the name of the spreadsheet you want Excel to open. If the connection to Excel is successful, the program continues processing. The routine terminates when the connection fails or when the spreadsheet cannot open properly.

Once you make the connection with Excel and open the proper spreadsheet, you can pass the data using the POKE() property of your DDELINK object.

Passing data using POKE()

The POKE() property allows you to pass data to another Windows application. You issue the POKE() command in the form

result = mylink.Poke(element, value)

where you replace element with the name of the element in the server document you wish to update. The element represents the name of the server cell or field that is to receive your data. This designation can be a cell name, such as R1C1, or a field name within a table in the server. You also must replace value with the value you wish to pass to the server application. You pass the value parameter either as a direct value, such as 123 or "ABC", or as a field name or memory variable. When your DDE conversation ends, you must close the conversation using the RELEASE() property of your DDELINK() object.

Ending the conversation

In general terms, the RELEASE() property of an object removes the object from memory. For the DDELINK() class, the RELEASE() property closes the link between the two  applications. You code the command in the form

result = mylink.Release()

where mylink is the name of your DDE object. When you issue this command, Visual dBASE closes the connection and removes the link from memory.

Putting it together

Now that we've reviewed three properties of the DDELINK class object, let's put them together to form our sample application. For this example, we'll use the SALES database and pass to our SALES.XLS Excel spreadsheet all product sales for the month of January.

Setting the environment

Let's begin by customizing the Visual dBASE environment. The following commands set the environment and open our SALES database:

SET TALK OFF

SET BELL OFF

USE sales

SET FILTER TO monthnmbr = 1

GO TOP

The SET FILTER TO statement limits the scope of the data to records for January, or records in which monthnmbr equals 1.

Opening the link

Next, you must define the DDELINK() object and establish the DDE link with Excel by passing the name of the spreadsheet you want to open. You code the opening routine as shown in the following code snippet:

LOCAL mylink

mylink = NEW DDELINK()

IF .NOT. mylink.Initiate("Excel","SALES.XLS")

   RELEASE ALL

   RETURN

ENDIF

If the Initiate property cannot complete the task of opening Excel and loading the proper spreadsheet, the RELEASE ALL statement clears the memory variables and returns to the calling program.

Sending the data

Now you're ready to create the routine for passing the sales information for January to the Excel spreadsheet. For this example, let's pass the product name and the total January sales figure for each product. The product name passes to column B of the SALES.XLS and the sales figures to column D.

You'll need a counter to increment the cell location as you process each record of your database. You must convert the counter to alphanumeric in order to pass the cell location of each value. In this case, you need two location values since you pass the name to one column and the sales value in another.

As you probably know, Excel arranges cells in columns and rows, and you typically refer to a cell directly by using its column letter and row number in the form B1, C2, and so on. In addition, you can designate a cell reference indirectly with an expression in the form

RxCy

where R stands for row, C stands for column, and x and y are values that indicate how many rows or columns. For instance, the the indirect designation for cell A1 is Row 1, Column 1, or R1C1. For this example, the processing is handled in a routine similar to the commands shown in the snippet below.

cnt = 2

DO WHILE .NOT. EOF()

* Create the product name cell location.

   cellloc1 = "R"+LTRIM(STR(cnt))+"C2"

* Poke the product name into the cell

   result = mylink.poke(cellloc1,prodname)

* Create the sales value cell location.

   cellloc2 = "R"+LTRIM(STR(cnt))+"C4"

* Poke the sales value into the cell.

   result = mylink.poke(cellloc2,slsdollars)

* Increment the counter

   cnt = cnt + 1

   SKIP

ENDDO

Since the counter value begins at 2, the expression

"R"+LTRIM(STR(cnt))+"C2"

returns an indirect cell reference of R2C2 the first time through the loop. Therefore, the first cell in which POKE() places data is B2. Then, the expression

"R"+LTRIM(STR(cnt))+"C4"

returns the indirect cell reference R2C4, which stands for cell D4. The next time through the loop, the CNT variable equals 3, so that POKE() copies the next record's data into cells R3C2 and R3C4, or cells B3 and D3, respectively.

Breaking the link

Once your program processes all the records in your database, you must end the program by closing the database and breaking the link connection. The end of your program should resemble the code shown in the following code segment:

CLOSE DATABASES

result = mylink.RELEASE()

RETURN

Figure E shows the updated Excel spreadsheet. Note that the updated information started in cells B2 and D2, and continued down the columns.

Figure E

The Excel spreadsheet now contains the product names and total sales figures from the Visual dBASE database. Note: We ran this DDE application on a 486/33 personal computer. If you use a 386 machine, you may need to fine-tune your Windows resource settings for a successful DDE link.

Conclusion

You can use the DDELINK() class to pass information directly from your Visual dBASE application to another Windows application with very little effort. In future articles, we'll examine other properties of the DDELINK() class and show how to easily incorporate them into your applications.


Borland Visual Solutions Pack

Custom controls to open up visual development

Borland combined many of the industry's most popular and versatile controls together in one box. The Borland Visual Solutions Pack is a collection of drop-in components that you can integrate into your Windows application, whether you've built it with Turbo C++ for Windows, Visual dBASE, Delphi, Visual Basic, Visual C++, or any other application development tool that lets you use VBX controls. The Visual Solutions Pack includes controls for spreadsheets, WYSIWYG word processors, 3-D and 2-D charts, image editors, serial communications interfaces, animated buttons, gauges, sliders, and a host of fun gadgets.

Plug-in Productivity

Plug in functionality from Borland's scalable custom controls and dramatically reduce the time you spend adding features to your Windows applications. We've hand-selected the most powerful controls from the world's leading VBX custom control vendors to bring you the most comprehensive set of reusable components available. You can't help but increase your productivity and the quality of your applications when you can just drop in a control to handle visual presentation or data processing.

Instantly Increase the Power of Your Applications

You could spend months developing the kinds of functions your customers demand. Now, you don't have to. They're all here, ready to go. The Borland Visual Solutions Pack 1.1 has over 20 reusable custom controls. You'll add tons of functionality in minutes with features like the NEW! word processor control that allows virtually unlimited customization of each of its features and a NEW! spreadsheet that includes 126 built-in functions.

Extend Your Range

Whether your application is used by ten people or ten thousand, to be competitive you've got to create first-class applications quickly. The Borland Visual Solutions Pack extends your options and helps you meet the demands you're faced with. It adds extensive functionality to any VBX-compatible development tool you use including Borland® C++, Visual dBASE®, and Visual Basic.

The Most Comprehensive Set of Custom Controls:

•	Spreadsheets

•	WYSIWYG word processors

•	3-D and 2-D charts

•	Image editors

•	Serial communications interfaces

•	Animated buttons, gauges, sliders, and a host of eye-catching gadgets

Order Information


Crystal Reports Professional 4.0
Crystal Reports Professional 4.5

Visual dBASE uses a specially customized version of the famous Crystal Reports product for doing reports, labels and cross tabs. It has been customized to offer high levels of integration and even understands Visual dBASE data manipulation commands and data types.

Crystal Reports Professional version 4.5 is the latest stand alone version of Crystal Reports. It offers some unique advantages over the integrated version shipped with Visual dBASE. If you have specific report writing needs beyond the capabilities of the built in version of Crystal, then check out this information packed fact sheet.

Click here to find out about the RAPId Class Library for Visual dBASE. This dBASE class library allows Visual dBASE developers to extend their control over Crystal Reports for advanced development needs.


Standard Support

Support Reference Numbers

Up and Running

Available at no charge, Up and Running provides registered users with quick and easy access to Borland's Technical Support. You can call a support engineer regarding software installation on the Installation Hotline, or use TechFax, Download Bulletin Board Service, or use one of the On-line Support Forums for information about product features and usage.

Product definitions: Borland databases: Visual dBASE, dBASE and Paradox; Borland Languages: Borland C, C++, Pascal, and Delphi; Decision Support Tools, ReportSmith and ReportSmith SQL. InterBase support is offered exclusively through the InterBase Hotline or by incident under "Pay-as-you-go Support Options."

Installation Hotline

All registered users have unlimited telephone access to assistance regarding software setup, and installation.

Available 6:00 A.M. to 5:00 P.M. Pacific Time

TechFax

This automated service sends free technical information to your fax machine.

•	More than 1,500 documents on topics that include installation and configuration, common questions and answers, troubleshooting tips, sample applications, and code

•	Toll-free 800-number

•	Available 24 hours a day, seven days a week

Download Bulletin Board Service (DLBBS)

•	Download product information, sample code, template files, utilities, and the latest technical data Available 24 hours a day, seven days a week

On-line Support Forums: CompuServe, Borland ftp site via Internet, BIX, and Genie

Use your modem to contact a variety of Borland-sponsored user forums at no additional charge. On-line forums put you in touch with thousands of Borland users who may provide assistance, tecnical informatoin, exchange ideas and experience.

•	Information about all Borland databases, languages, and decision support tools

•	Download product information, sample code, template files, utilities, and the latest technical information

•	Available 24 hours a day, seven days a week

USA Support Options	Support Reference Numbers


Borland Support Services in the United States

Borland Assist

Technical Information is as integral to an information system as the code used to create it. Borland Assist offers a wide selection of technical support solutions for developers, integrators and consultants.

Standard Support	Enhanced Support

Pay-as-you-go Support Options	Borland Assist Support Reference


ARGENTINA

Softland S.A.

Suipacha 190-Piso 2

Capital Federal, 1008

ARGENTINA

Tel: 54-1327-1271

Fax: 54-1326-6285


AUSTRALIA

Borland International (AUST) Ltd.

Locked Bag 84

Lane Cove, N.S.W. 2066

AUSTRALIA

Tel: 61-2-911-1000

Fax: 61-2-911-1011

Technical Support


CANADA

Borland Canada

200 Konrad Crescent

Markham, Ontario, L3R 8T9

Canada

Tel:	Main switch :	+1 905 477 4344

Customer Service :	     800-461-3327

Fax: 	+1 905 477 6657


CHILE

Borland Chile S.A.

Lota 2257, Oficina 304, Piso 3

Santiago, CHILE

Tel: 56-2-233-7113

Fax: 56-2-233-7114


COLOMBIA

LASC Ltda.

Carrera 18, No. 79-37

Santa Fe de Bogota, COLOMBIA

Tel: 57-1256-1538

Fax: 57-1226-8821


OTHER LATIN AMERICAN COUNTRIES

Borland Latin America

100 Borland Way

Scotts Valley, CA 95066-3249

U.S.A.

Tel: 408-431-1074

Fax: 408-431-4113


CZECH AND SLOVAK REPUBLICS

Borland s.r.o.

Tynsky dvur 10

110 00 Praha 1

CZECH REPUBLIC

Fax: 42-02-24-81-27-53


FRANCE

Borland International (France) SARL

2, rue Maurice Hartman

92137 Issy les Moulineaux Cedex

FRANCE

Tel: 33-1-41-23-11-00

Fax: 33-1-41-23-11-99

Also serves:

BULGARIA, CYPRUS, EGYPT, GREECE, HUNGARY, ITALY, KUWAIT, MALTA, MOROCCO, POLAND, PORTUGAL, ROMANIA, SAUDI ARABIA, SLOVENIA, SPAIN, TURKEY, United Arab Emirates

Technical Support


GERMANY

Borland International (Germany) GmbH

Monzastrasse 4C

63225 Langen, GERMANY

Tel: 49-6103-9790

Fax: 49-6103-979290

Also serves:

AUSTRIA, SWITZERLAND

Technical Support


HONG KONG

Borland (Hong Kong) Ltd.

Rm 2002 Cameron Commercial Centre

458-468 Hennessy Road

Causeway Bay

HONG KONG

Tel: 852-2572-3238

Fax: 852-2572-7002

Also serves:

INDIA, INDONESIA, KOREA, MALAYSIA, PHILIPPINES, SINGAPORE, SRI LANKA, THAILAND

Technical Support


JAPAN

Borland Company Ltd.

Sasazuka South Building

1-64-8 Sasazuka

Shibuya-ku, Tokyo 151, JAPAN

Tel: 81-3-5350-9380

Fax: 81-3-5350-9369


RUSSIA

Borland AO

Okruzhnoy proezd, 19

105058 Moscow, RUSSIA

Tel: 7-095-366-4634

Fax: 7-095-366-4637


MEXICO

Siga Desarrollos S.A. de C.V.

Nueva York #115, Piso 2

Colonia Napoles, 03810

Mexico D.F., MEXICO

Tel: 52-5-687-7582

Fax: 52-5-687-7448


NETHERLANDS

Borland International B.V.

P.O. Box 71876

1008 EB AMSTERDAM

THE NETHERLANDS

Tel: +31 (0) 20 540 5472

Fax: +31 (0) 20 646 2620

Also serves:

BELGIUM, DENMARK, FINLAND, ICELAND, LUXEMBOURG, NORWAY, SOUTH AFRICA, SWEDEN

Technical Support


The Solution - the RAPId Class Library for dBASE

The RAPId Class Library was developed to address these problems. The RAPId Class Library provides you with:

access to all of the functions in the Crystal Reports Print Engine that the dBASE programming language cannot normally access. This includes functions for exporting, printer control, and text retrieval, and

the ability to call all of the Print Engine functions (including those you could previously call from dBASE) using dBASE classes, properties, and methods.

To use the RAPId Class Library with your dBASE applications, you need only #include two dBASE header files with your dBASE forms or programs. You immediately expand the reporting potential of your applications.


NEW ZEALAND

Borland International (NZ) Ltd.

P.O. Box 90652

Auckland, NEW ZEALAND

Tel: 64-9-360-0231

Fax: 64-9-360-0384


TAIWAN

Borland Taiwan

7F-4, 207, Tun Hua N. Road

Taipei, TAIWAN

Tel: 886-2-718-6627

Fax: 886-2-719-0758

Technical Support


UNITED KINGDOM

Borland International (UK) Ltd.

Freepost RG 1571

Twyford, Berkshire RG10 8BR

ENGLAND

Tel: (0800) 973139

Fax: (0800) 973161

Technical Support


UNITED STATES

Borland International, Inc.

100 Borland Way

Scotts Valley, CA 95066-3249

U.S.A.

Tel: 510-354-3828

Fax: 408-431-4122

Ordering Products

Technical Support Options

World Wide Web


URUGUAY

Jade Asociados

Av. 18 de Julio 921

Galeria Libertador, local 47 y 49

11100 Montevideo, Uruguay

Tel: 598-292-8317

Fax: 598-292-8318


The RAPId Class Library does two things:

First, it provides a wrapper DLL (RAPID.DLL) that sits between the application and the Print Engine and converts dBASE calls into the format required by the Print Engine.

Second, it also provides a dBASE user interface that conveniently organizes and controls the Print Engine API using dBASE classes, class properties, and class methods. The interface is written in dBASE, so you continue to code using the dBASE language. There is no need to learn about DLLs. You simply create dBASE class objects and call the class methods within those objects. You program with dBASE while the Class Library takes care of the Print Engine calls.

The resulting product provides a smooth interface with the Crystal Reports Print Engine.


Sample application

The RAPId Package for Visual dBASE comes with a sample application that uses the classes and methods in the RAPId Class Library. This application is made up of a Visual dBASE form (RAPID.WFM) and several Visual dBASE header files. It demonstrates possible techniques for using the classes and class methods in the RAPId Class Library to add report writing capabilities to a Visual dBASE application.


Documentation
RAPId Documentation

The product is professionally documented. The manual is over 110 pages long and it includes comprehensive discussions of every class, property, and method.


Runtime license

The product includes a free runtime license that enables you to distribute the necessary RAPId Class Library components with your applications at no additional charge under most conditions.


Pricing
Pricing and Availability

The RAPId Class Library for dBASE is available in three versions:

Crystal Reports for dBASE Developer's Pak version: 	U$59.00

Crystal Reports 4.0 Standard Edition version: 	U$79.00

Crystal Reports 4.0 Professional Edition version: 	U$99.00

Guarantee

The RAPId Class Library for dBASE comes with a 30-day money-back guarantee.

To order or for additional information

Instructions, Etc., Inc., 4041 Home Road, Suite A-3, Bellingham, WA 98226

(800) 755-9931, (360) 647-1228, FAX (360) 734-1431

Internet : gcarter@nas.com,	CompuServe : 76657,516,

MCI Mail : 635-6194


The Problem the RAPId Class Library Addresses

Despite the inherent power of the Crystal Reports Print Engine, there are two problems you encounter when using the Print Engine with applications you develop in dBASE for Windows.

First, the Print Engine DLL was written in C and is meant to work with any development tool that can call a DLL; it is not a dBASE-specific DLL. Several of the functions in the Print Engine require pointers to C language structures or pointers to integer or boolean types. Unfortunately, the design of the dBASE for Windows programming language does not support calls using structures and pointers to variables. This means that if you are developing applications in dBASE, you cannot use many of the functions that are available in the Crystal Reports Print Engine.

The Print Engine that was provided with the Crystal Reports for dBASE Developer’s Pak contains 40 functions, 17 of which you cannot call from dBASE.

The Print Engine that comes with Crystal Reports 4.0 Standard Edition contains 67 functions, 29 of which you cannot call from dBASE.

The Print Engine that comes with Crystal Reports 4.0 Professional Edition contains 96 functions, 44 of which you cannot call from dBASE.

A great deal of Print Engine functionality is unavailable when you are programming in dBASE.

There is a second problem. To use the functions that you can call from dBASE, you need to first understand Windows DLLs, and you need to use complex EXTERN statements. If you don’t already understand Windows DLL basics, you can spend a lot of time bringing yourself up to speed when you could better spend your time concentrating on your own dBASE code.


Help Authoring
Help Authoring - ForeHelp

ForeHelp - This Help File was "authored" using ForeHelp!

The Way Help Authoring Should Be.

ForeHelp is the unique Help Authoring System for Windows that allows you to work in an actual hypertext environment. Work with your project in a screen that looks just like the final help project. Move through your help project using standard Help navigational features (Jumps and popups, keyword search, browse sequences, contents, back). ForeHelp provides unique project management tools so you can see your topic's relationships graphically. Now you can save time and effort by creating your help projects in the ultimate help environment.

Work in an Actual Help Setting

ForeHelp is the only Help Authoring system for Windows where you view, create, change, and move through your help projects in a visual and functional setting just like the final help project.

From the Editing Screen

•	See WYSIWYG graphics, text, jumps, popups, and macro hotspots just like the final help application. No codes or placeholders display.

•	Move among topics using jumps, popups, browse sequences, contents, back, history, and keyword search just like the final help application.

•	Use all 3.1 Help features via simple dialog boxes

From Test Mode

•	See and Use all help features just like the final help application instantly, without compiling. Test mode displays Macros (including multimedia routines), Secondary Windows, Browse Sequences, and Text and Graphic Hotspots.

Plan, View, and Manage Your Project Using ForeHelp's Presentation Tools

•	Use the Navigator graphically display hotspot and browse relationships among topics.

•	Use the Grapher to see a hierarchical outline of topics and their hotspot relationships.

•	Use the Reporter to view and print reports of topics and their attributes.

Create Help Documents Any Way You'd Like

•	Use ForeHelp's full featured WYSIWYG word processor to create or edit text. Word Processor includes:

•	Styles for easy and consistent paragraph formatting.

•	Find option will automatically create jumps, popups, macros, or keywords.

•	Spell Check, Thesaurus

•	Import RTF or TXT files from existing documents and help projects.

•	Import Bitmaps, Metafiles, or Segmented Hypergraphic image files.

Other Key Features

•	Create multiple jumps and their destination topics by selecting over an area of topic names.

•	Use the built in error detect and resolution facility to correct errors before compiling.

•	Create hotspot, topic and project macros including multimedia DLLS.

•	Create context-sensitive help, hotspot colors and screen preferences via dialog box selections.

•	Backup projects for safety and archiving purposes.

•	Integrated segmented hypergraphics editor to place hotspots on pictures

•	Create non-scrolling areas as well as copy title text to new topics automatically.

•	Create and maintain H PJ files automatically.

Technical Features

WYSIWYG help environment with Standard Windows Interface

•	View and use hotspots in edit screen

•	Fonts, paragraph formats, and graphics display in edit screen

•	No compiler codes or placeholders display

•	Hotspot colors set via dialog box.

Topic Navigation (always available)

•	Move among topics just like the final Help application

•	Jumps and popups

•	Browse sequences

•	Keyword Search

•	History

•	Goto

Word Processor (supports all help features)

•	Paragraph styles (create and/or import)

•	Standard Character and Paragraph formatting dialogs

•	Advanced Find and Replace

•	It found, choose to: select replace, make jump, popup, macro, or keyword

•	Table editor

•	Spell Check and Thesaurus

Advanced Help Features

•	Banner (non-scrolling area)

•	Window classes

•	Hotspots on pictures

•	lnterfile hotspots

•	Keywords

•	Embedded windows

•	Browse sequences

Macros

•	Project/Topic/Hotspot Macros

•	Multimedia support

•	Macro hotspots on pictures

•	Create machos by using macro templates

•	Register and use external DLLs

Help Project Management

•	Navigator view and move among topics using a graphic of topics and their relationships to other topics

•	Grapher: view hierarchical display of topics and their relationships in an outline format

•	Reporter: generate printed reports of topics and their properties

Time Savers

•	Test Mode instantly displays help project as It will appear and perform without first compiling

•	Build process displays and directs you to errors for correction before compiling

•	Create a topic and hotspot link simultaneously

•	Create multiple topics and hotspot links simultaneously

•	Copy topic title to first line of text or into banner arm

•	Integrated segmented hypergraphics editor

Import

•	Import. HPJ, RTF, TXT, WMF, .BMP & MRB--project, text and picture files.

Context Sensitive Help

•	Assign and organize context numbers and strings via dialogs.

•	Assign Aliases to redirect without changing context IDs.

ForeHelp Ordering Information


ForeHelp Ordering Information
Ordering Information

All Companion Products may be ordered directly from Borland by calling 1-800-932-9994 x1318.

Some products are also available through your local reseller.

For pricing and availability outside of the United States of America, please check with your local Borland office.


Visual dBASE

Visual dBASE Combines leading edge visual tools with a flexible, yet easy, programming language--to deliver the most productive database solution for business professionals and application developers.

Create tables, forms, reports, and labels easily

•	Keep track of all your data, forms, queries, reports, and labels with the Navigator. Point-and-click to use or edit them.

•	Accomplish your data management tasks quickly. NEW! enhanced Experts create your tables, forms, reports, and labels for you. Just select the options and fill in the blanks.

•	Fine-tune your designs without any programming, using Visual Property Builders.

•	Learn while you work using the Visual dBASE Interactive Tutors.

Increase productivity with object-oriented tools

•	Use more than 25 built-in classes to design your applications fast!

•	Visually design and save your own custom forms and controls.

•	Tap into the wealth of industry standard VBX controls to let you enhance your applications further.

•	Reuse all these components to expedite further development through Visual Inheritance.

•	Drive MS Office applications (and others) from Visual dBASE through OLE Automation.

Develop to your full potential with Two-Way-Tools(TM)

•	Edit your components visually and changes are reflected automatically in dBASE code. Or edit your code and see the changes directly in the Visual Designers.

•	Use whichever method of design matches your situation best. Now you can develop the applications you've always wanted.

•	Learn Object-Oriented Programming by inspecting the code generated automatically in visual design.

Move to client/server with ease

•	Access local and remote data easily, using the same user interface and applications.

•	Use SQL commands interactively or embedded in your applications.

•	Support relational concepts such as Primary Keys, Referential Integrity, NULL values, and transaction isolation levels.

•	Access server-based stored procedures.

•	Connect to popular database servers via ODBC.

•	Get the Visual dBASE Client/Server version to connect to the most popular database servers via native SQL drivers.

Support Windows 95 features Now!

•	Take advantage of long file names under Windows 95 for easier file management.

•	Support Windows 95 interface standards, such as icon tips, document-centric user-interface, right-click menus and more.

•	Create database applications that run on both Windows 3.1 and Windows 95--Visual dBASE automatically senses the environment and adjusts its look and feel accordingly.

The Visual dBASE family of products:

Visual dBASE: Create standalone and networked applications for your own use.

Visual dBASE Compiler: Deploy your applications to other users royalty-free.

Visual dBASE Client/Server: Includes Visual dBASE, Visual dBASE Compiler, Local InterBase Server, native SQL drivers to connect to popular databases, plus a Data Pump Expert.


Visual dBASE Client/Server

The Visual dBASE Client/Server version combines Visual dBASE, Visual dBASE Compiler, native Borland SQL Links, Local InterBase Server plus the Data Pump Expert, to deliver a robust solution for client/server developers.

Visual dBASE - visual tools and flexible business language

•	Wealth of Visual Designers including Table, Query, Form, Menu, PopUp Menu, and Reports to easily work with data from local and remote databases.

•	Create tables, forms, reports, and labels using Experts. Just select the options and fill in the blanks.

•	Fine-tune your designs without programming, using Visual Property Builders.

•	Increase your productivity using object-oriented tools. Visually inherit from your forms and controls to leverage reusability.

•	Enhance your programs with industry standard VBX controls.

•	Move to production sooner with the Coverage Analyzer, which provides test reporting, and the Debugger.

•	Develop to your full potential with Two-Way-Tools which let you edit components visually or in the color syntax editor. Code changes are reflected in the Visual Designers!

A wealth of client/server power

•	Embed ANSI SQL-92 commands directly into your applications.

•	Visually manage Primary Keys and Referential Integrity.

•	Support for NULL values, and transaction isolation levels puts you in control.

•	Access server-based stored procedures.

•	Included native Borland SQL Links give you the middleware edge in compatability and performance when developing with InterBase, Oracle, MS/Sybase SQL Server or Informix servers.

•	Connect to other popular database servers with 3rd party ODBC drivers.

Visual dBASE Compiler

Seamlessly integrated with Visual dBASE so you can easily create and deploy "client" applications royalty-free.

•	Visually pick the application to be compiled and all the required source code is compiled, without a project file.

•	Select your splash screen and icon to be linked into your executable to quickly deliver customized solutions.

•	Build bitmaps, icons, fonts, and more with Borland Resource Workshop.

•	Generate Windows help files that connect your applications to the Windows help system with the Help Compiler.

•	Use the Application Deployer to compress your program and create professional quality install disks

More detailed information on the Visual dBASE Compiler

Local InterBase Server - the scalable SQL server

InterBase 4.0 is unrivalled for ease of installation, small footprint, ease of use, and maintenance. Use the Windows based Local InterBase (included) for true partitioned client/server development on one machine, including transactions.

•	Fully scaleable server -- data, stored procedures, and triggers all work when moved to other InterBase platforms like Windows NT, Netware, and UNIX.

•	Visually administer databases with powerful Windows tools.

Data Pump Expert

•	Quickly move entire databases from one source to another with the visual Expert interface. Move data up to SQL servers, from one server to another or down from  servers to local file formats. Any connection can be used as the "source" or the "target", even ODBC!

Support Windows 95 customers Now!

•	Deploy applications that take advantage of long file names under Windows 95.

•	Support Windows 95 interface standards, such as icon tips, right-click context menus, and more--right in your own executables.

•	Create database executables that run on both Windows 3.1 and Windows 95.

Complete Client, Middleware, and Server Software for Robust Development

The Visual dBASE family of products:

Visual dBASE: Create standalone and networked applications for your own use.

Visual dBASE Compiler: Deploy your applications to other users royalty-free.

Visual dBASE Client/Server: Includes Visual dBASE, Visual dBASE Compiler, Local InterBase Server, native SQL drivers to connect to popular databases, plus a Data Pump Expert.

Deploying InterBase engines: Whether you have used the Visual dBASE Client/server product to create InterBase based applications that you want to deploy on Windows 3.1 or on server platforms, Borland has a solution for you.

Deploying Borland SQL Links with you client/ser ready application


Visual dBASE Compiler

Visual dBASE Compiler integrates seamlessly with Visual dBASE so you can easily create and deploy applications royalty-free.

Save money with royalty-free application deployment

•	Create your application once, deploy it as often as you want.

•	Hand over your application to users, and they don't need Visual dBASE to work with it.

•	Save money--you don't have to charge for royalties or runtime systems.

•	Protect your investment! No one has access to your source code.

Build executables without complications

•	Pick the application to be compiled visually, and Visual dBASE automatically detects and compiles all procedure files, libraries, and other source code, without a project file.

•	Inspect the Log-file that Visual dBASE generates to see any errors and/or warnings.

•	Get started fast by visually selecting the splash screens and icons to be associated with your application.

•	Watch Visual dBASE link all the components together into a Windows executable file.

Deliver customized solutions

•	Choose from a selection of professional sample splash screens and icons.

•	Build bitmaps, icons, fonts, and more with the included Resource Workshop.(R) You can even edit resources out of DLLs!

•	Generate Windows help (HLP) files that connect your applications to the Windows help system with the Help Compiler.

•	Set the HelpID property to connect a HLP file context to Visual dBASE forms and controls.

Create professional install programs for your applications

•	Use the Application Deployer to create a disk image of your application easily, whether on disks or CD-ROM

•	Compress your application files, so fewer disks are required.

•	Automatically create a sophisticated installation program for the users of your applications.

Support Windows 95 customers Now!

•	Deploy applications that take advantage of long file names under Windows 95.

•	Support Windows 95 interface standards, such as icon tips, right-click context menus, and more--right in your own executables.

•	Create database executables that run on both Windows 3.1 and Windows 95--Visual dBASE-compiled executables automatically sense the environment and adjust the look and feel accordingly.

The Visual dBASE family of products:

Visual dBASE: Create standalone and networked applications for your own use.

Visual dBASE Compiler: Deploy your applications to other users royalty-free.

Visual dBASE Client/Server: Includes Visual dBASE, Visual dBASE Compiler, Local InterBase Server, native SQL drivers to connect to popular databases, plus a Data Pump Expert.


Visual dBASE Books
List of Visual dBASE Books from Third-Party Publishers

For the latest list of Visual dBASE books, and a complete list of books on older versions of dBASE, check out Borland OnLine on the Internet at our World Wide Web site.

Visual dBASE IS SUPPORTED BY THESE TITLES COMING FROM LEADING PUBLISHERS

* Teach Yourself Visual dBASE 5.5 for Windows Programming in 21 Days by Nathan and Uri Gurewich

Sams Publishing, Borland Press Phone: 800-428-5331; Fax: 800-448-3804

ISBN 0-672-30673-5 $29.99

Here is the perfect learning tool for end users who want to take the next step and begin using the programming capabilities of Visual dBASE to develop their own applications. Uses a variety of teaching elements and chapter-end exercises.

* Visual dBASE 5.5 Unleashed by Paul Mahar

Sams Publishing, Borland Press Phone: 800-428-5331; Fax: 800-448- 3804

ISBN 0-672-30877-0 $45.00

Written by a member of the Visual dBASE development team, this book provides in-depth coverage of all aspects of Visual dBASE including object-oriented programming, the compiler, SQL, undocumented features and migrating DOS applications. Includes CD-ROM with source code for all examples.

Learn Visual dBASE 5.5 Programming; A Hands-on Guide to Object-Oriented Database Programming by Martin L. Rinehart

Addison-Wesley Publishing Company Phone: 800-822-6339; Fax: 800-333-3328

ISBN 0-201-60836-7 $39.95

Provides expert advice on developing professional-quality Windows applications using the new capabilities of Borland's Visual dBASE.

Programming in Visual dBASE by Robert Buchanan

Boyd & Fraser Publishing Company Phone: 800-354-9706; Fax: 800-487-8488

ISBN 0-534-24006-2 $28.00

Go from novice to expert using this practical, step-by-step approach to learning programming in Visual dBASE.

Using Visual dBASE/dBASE 5.0 for Windows by Phil Pratt

Boyd & Fraser Publishing Company Phone: 800-354-9706; Fax: 800-487-8488

ISBN 0-7895-0079-5 $21.00

With its thorough coverage and practical tutorial approach, this text deftly places the power of dBASE in the hands of the novice, building confidence and skills simultanouesly.

Visual dBASE 5.5 by Richard Biegel and Sumant Pendharkar

Glencoe/McGraw-Hill Phone: 800-334-7344; Fax: 614-860-1877

ISBN 0-02-802618-7 $24.50

Postsecondary/college semester length text.

Visual dBASE 5.5: A Tutorial to Accompany Peter Norton's Introduction to Computers by Peter Norton

Glencoe/McGraw-Hill Phone: 800-334-7344; Fax: 614-860-1877

ISBN 002-802-9550 $16.50

Tutorial to accompany text in quarter/semester-length class

Visual dBASE 5.5 Programming by Michael R. Irwin

Prentice Hall, PTR Phone: 800-223-1360; Fax: 317-573-2583

ISBN 0-13-239922-9 $39.95

This book, by a leading dBASE expert and trainer, shows how to fully exploit the object-based model of Borland's Visual dBASE to create powerful, easily maintained database applications.

Using Visual dBASE 5.5, Special Edition by a team of dBASE experts

Que Phone: 800-428-5331; Fax: 800-882-8583

ISBN 0-7897-0245-9 $34.9

For intermediate and advanced users, this comprehensive reference covers the programming features of versions 5.0 and 5.5, teaching the fundamentals of Visual dBASE and how to become productive using dBASE.

Learn Visual dBASE 5.5 in a Day by Anthony Mosley

Wordware Publishing, Inc. Phone: 800-229-4949; Fax: 214-881-9147

ISBN 1-55622-469-9 $15.95

Designed with the beginner in mind, hands-on activities and step-by-step instructions guide users through database creation and modification, queries, forms, and reports using this powerful database program. Companion diskette with exercise examples included.

*Part of Borland Press Series


Complete Client, Middleware, and Server Software for Robust Development

Visual dBASE:  - Client Development

  -	Form, Table, Report and Label Experts

  -	Over 20 Visual Property Builders

  -	Visual Two-Way-Tools

  -	Visually design and inherit forms and controls

  -	True event-driven, object oriented development with new built-in classes

  -	Flexible English-like programming language

Visual dBASE Compiler: - Client Deployment

  -	Develop applications that support OLE, OLE Automation, DDE, VBXs, DLLs and ODBC

  -	Icon, bitmap and resource editor (Resource Workshop)

  -	Compile client/server ready applications

  -	Application Deployer builds professional install disks

Borland SQL Links: - Middleware Development

  -	Native drivers for performance and reliability

  -	Connect to InterBase, Oracle, MS/Sybase SQL Server, and Informix with native drivers

  -	Optionally plug in your own ODBC drivers

Local InterBase Server: - Server Development

  -	Triggers, and Stored Procedures

  -	ANSI SQL-92 Entry Level Conformant

  -	Small footprint server for single PC development

  -	Databases scaleable to NetWare, NT and UNIX versions of InterBase

Data Pump Expert: - Bulk Data Moving

  -	Pump PC data up to any server - including ODBC

  -	Bring server tables down to local tables

  -	Pump data from one server to any another


Borland Resource Workshop

The Borland Resource Workshop is a part of the Visual dBASE Compiler, but it is also sold separately for customers who would like this tool and do not need the Visual dBASE Compiler.

Description

Resource Workshop provides everything you need to easily create and modify your Windows resources including icons, cursors, fonts, bitmaps, menus, dialog boxes, and more! Resource Workshop is a sophisticated tool that integrates the entire process of designing and compiling your resource elements so you can get the your programs looking the way you want. Powerful visual and text resource editors, reusable resource libraries, a flexible compiler, and extensive debugging features make designing consistent and intuitive user interfaces for your applications a snap.

What You Get with Resource Workshop

Feature	Benefits

Visual Resource (Paint) Editor	Makes it easy to visually design and modify Windows resources like icons,cursors, bitmaps, and fonts. Includes an extensive tool palette, giving you the flexibility you need.

Text Editor	Makes it easy to manipulate text descriptions of resources.

Compiler	Allows you to compile your resources incrementally, only when you need to.

Project Window	Easily manage all resources for an application.

Multilevel Undo & Redo	Save time by easily being able to step back through the changes you have made.

Debugger	Automatically checks for errors, making it easy to check resources for errors like incorrect syntax and resource ID's. Test and debug resource behavior before binding them to your executable code.

Top Reasons to Buy

•	Resource Workshop gives you full control in designing and editing Windows interface elements such as icons, cursors, dialog boxes, menus, bitmaps, fonts, radio buttons, check boxes, push buttons and more, with virtually no coding.

•	Resource Workshop gives you the power and flexibility to create professional, eye-catching and intuitive interfaces for your applications.

•	Easily create a customized look and feel for your applications.

•	Save time and use or customize existing resources from other applications

•	Manage and reuse Windows resources easily.

Ordering Information	Information on the Visual dBASE Compiler


European Phone Support
Borland Support Services by Country

Technical Support for our customers is exclusively handled through a number of companies throughout the world. These companies are fully equipped and trained to handle all requests for Technical Support you may have and receive full backup support from Borland. The following numbers can be used for Technical Support in Europe, Australia, Hong Kong and Taiwan. In addition to free support for installation problems, there are several pay support programs available.

Country	Phone number	Description

Australia	1 800 641 144	Support for all products

1 800 632 266	Customer Services

Germany,	+49 (0)8995914705	Free installation support

Switzerland and	Use the same number to inquire about support

Austria	contracts

France	+33 (1) 41377018	Free Database installation support

+33 (1) 41377019	Free Languages installation support

+33 (1) 41377009	Inquiries about support contracts

UK and	+44 (0)1256 373477	Free dBASE installation support

Ireland	+44 (0)1256 373478	Free Paradox installation support

+44 (0)1256 373479	Free Languages installation support

Use any of these numbers to inquire about support contracts

Netherlands	+31 (0)30 833730	Free installation support

Use the same number to inquire about support contracts

Belgium (NL)	+32 (0) 27143503	Free installation support

Use the same number to inquire about support contracts

Belgium (FR)	+32 (0) 27143504	Free installation support

and Luxembourg	Use the same number to inquire about support contracts

Norway and	+47 (0) 22250017	Free installation support

Iceland	Use the same number to inquire about support contracts

Denmark	+45 (0) 45762313	Free installation support

Use the same number to inquire about support contracts

Sweden	+46 (0) 86270110	Free installation support

Use the same number to inquire about support contracts

Finland	+358 (0) 904209792	Free installation support

Use the same number to inquire about support contracts

Spain 	+34 (1) 6618091	Free installation support

+34 (1) 6615010	Inquiries about support contracts

Italy	+39 (2) 57303203	Free installation support

Use the same number to inquire about support contracts

Hong Kong	+852 2572-3238	Fax: +852 2572-7002

Taiwan	+886 (2) 718-6627	Fax: +886 (2) 719-0758

Contacting Borland


Imag'N
ImagN'

Take the Headaches Out of Windows Bitmap Graphics

with

ImagN' for Windows takes the headaches out of integrating graphic images in just about any Windows application -- through easy-to-implement VBX and DLL interfaces. Display PCX, DCX, TIFF and BMP images using ImagN's powerful 32 bit engine.  Just tell ImagN' what you want to see and where you want to see it—and ImagN' does the rest!  ImagN's unique background processing lets your users continue to work while images are being loaded and displayed.  ImagN' automatically performs all the message handling required to display graphic images.

ImagN' Features Include:

•	Background processing of images so your machine doesn't lock up while images are decoding

•	Super fast decoding and display of 2, 4, 8, and 24 bit PCX, DCX, BMP, and TIFF file formats

•	Super fast color reduction for 24 bit images

•	Super fast Palette optimization lets multiple color images share the same display

•	The same code runs on Windows 3.1x, Windows NT and Windows 95 -- without modification!

•	Automatic detection of image types

•	Automatic detection of the current display resolution for optimum display of each image

•	Scale-to-fit or <n> percent of the actual size -- with a single call

•	Automatic scroll bar handling for images scaled larger than the display window

•	Automatic processing of all window messages related to displaying the image

ImagN' Comes Complete With:

•	Visual dBASE, Delphi, and C/C++ sample source code

•	16 and 32 bit DLLs

•	a Visual Basic custom control (VBX)

•	Unlimited runtime (with product registration)

How to get more information on ImagN'

Imagine Software Solutions, Inc.

7136 Summit Avenue

Cincinnati, Ohio 45243

1-800-453-4722 / 1-513-984-9860

Fax: (513) 984-2174

BBS: (513) 984-1722


VoysAccess

voysAccess™

voysDesigner Rapid Application Generator and VBX

Telephony ToolKit for Telephone Enabled Applications

voysAccess is a new generation of open, add-on tools that allows developers and power-users to create new or enhance existing data applications with powerful telephony-enabled capabilities. Based on Interactive Voice Response (IVR) technology, users can now build intelligent voice processing solutions that allow callers to access, enter, and retrieve specific information from a database using their Touch-Tone phones, without having to become a telecommunications expert.

voysAccess  makes building IVR applications easier because it features a fully contained project, branching to Actions, robust database navigation interface.

Introducing voysAccess

voysAccess is a Visual Basic custom control (VBX) and rapid application development tool called voysDesigner. voysAccess provides all the necessary telephony controls to build robust IVR applications.

The voysAccess/VBX

The voysAccess/VBX custom control provides properties and actions to telephone enable applications.  Telephony controls include properties and actions to:

•	answer the telephone	•	play voice files to "speak" data

•	record voice files	•	receive Touch-Tones as input

•	dial a call	•	branch within application

•	database manipulation	•	transfer a call

•	and navigation

Summary Feature List

•	Build Complete Applications without programming using the built-in Automatic Code Generator and Project Manager

•	Actions-  Speak, Record, Database, Variable, Dial, GetDigits, Branch, and Transfer

•	Branching with Dependency Check

•	Database lookup, scrolling, full ODBC and SQL capability

What's in the ToolKit

voysAccess  is an integrated toolkit that provides a complete design and development environment.

voysAccess™/ VBX

  -	Custom Control with telephony actions and properties.

Starter Prompt Library

•	300 professionally recorded and edited voice files for commonly spoken data such as greetings, numeric digits, days of the week, time, measurements, dollars and cents.

Sample Application & Tutorial

•	earning aids which help developers quickly grasp the use of and techniques for implementing telephone enabled applications.

voysSmith™

•	Feature rich sound processing/editing software to fine tune voice files and convert files to different formats. Supports WAV, SoundBlaster™, VOX, and other formats.

Instruction Manuals

•	The voysAccess Developers Guide provides installation, tutorial and reference information. Building Successful IVR Applications is an excellent introduction on designing and implementing telephone applications that access databases, generally referred to as Interactive Voice Response (IVR).

Pricing

voysAccess™ ToolKit

US $595 for Software Only ToolKit which supports 2 telephone lines and includes a Royalty Free License to distribute VBX.

For More Information

Voysys Corporation · 48634 Milmont Dr  Fremont Ca  94538

1.800.386.9797 ext. 358 from within the United States, or 1 510 252 1100 from outside the USA.


Borland Connections
Borland Connections - Desktop and Client/Server Developers

Prerelease Software: 	Application Form

The member will receive prerelease product to help you get a head start on development.

One Year of Maintenance:

The member will receive one year of product maintenance. This will include all updates and upgrades.

One Year Subscription of KnowledgeBase:

The member will be provided with a one year subscription to Borland KnowledgeBase. KnowledgeBase is a quarterly CD packaged with hundreds of articles, questions, and program reports for Paradox, dBASE, Borland C++ and Delphi.

Technical Support:

Desktop members' will receive 3 hours of prepaid advisor line support. Client/Server members will receive 5 hours of prepaid advisor line support. Advisor Support Line gives priority access to senior support engineers via an 800-number. Technical Support covers the product in the program you have selected.

Discount on Assist Programs:

* The member can receive a 20% discount on an Assist Program or 10% on blocks of prepaid advisor line.

Discount on Press Books:

The member can receive a discount on books published by Borland Press.

On-line Services:

The member can access on-line and automated support forums. Members can access the BORCONN forum to access special NDA information and talk with other members.

Discount on Mailing List Rentals:* The members can rent a mailing list at a 30% discount. There are minimum quantity requirements.

Bi-Annual Regional Briefings:

The members will be invited to special Bi-annual Borland briefings. Briefings will provide members with confidential information on upcoming products and future product direction.

Borland Connections Directory:

* The member will be included in the Directory. This will increase your visibility with potential Customers. The Directory can be downloaded from FastFax, Borland's BBS, CompuServe and soon to be on the Internet.

Connections ListServe:

The member can sign up for our connections listserve. They will receive the latest press releases and current Borland information via E-Mail.

Borland Logo Usage:*

The member will be authorized to use the Borland Connections Member logo.

Program Cost:

•	Desktop Product Options (Paradox for Windows, Visual dBASE, Delphi for Windows, Borland C++)

•	First Product: $750.00

•	Each Additional Product: $350.00 (1 additional hour of support)

•	Client/Server Product Option

•	Delphi Client/Server: $1500.00 (includes Interbase NLM or NT 2 user)

•	Visual dBASE Client/Server: $1500.00 (includes Borland SQL)

* not available to Corporate or Government Members

For more information call 1-800-353-2211 	Application Form

For customers outside of the US, please contact your local Borland office and ask about any subscription based developer programs that they run. Programs, pricing and content varies by country.


Borland Authorized Training Centres
Borland Authorized dBASE Training Centers

If you are outside of the United States, please contact your local Borland representative to enquire about Visual dBASE training in oyur area. The Borland World Wide Web site has the most current list training centers.

California

Computer Utilization, Sacramento 916-364-0203

Lienhard Consulting Group, San Diego 619-627-1777

MicroDaticS, Torrance 310-329-6280

New Horizons CLC, Bakersfield 805-397-3606

PC Etcetera, San Francisco 415-291-8585

Compucon, Inc., Menlo Park 415-322-9645

Colorado

Access Technologies Inc, Englewood 303-799-0640

Georgia

dBASE Kaplan Communications, Atlanta 404-633-8535

The DSW Group Ltd, Atlanta 404-953-0393

Illinois

SpecialWare Training Corp, Elmhurst 708-941-2830

Indiana

Compu-Train, Inc., Merrillville 219-791-9602

Minnesota

The Data Guidance Company, Minneapolis 612-544-4219

North Carolina

Computer Decisions Inc, Morrisville 919-460-0071

New York

Productivity Point Int'l, New York 212-398-6410

Ohio

Caspian Software Inc, Columbus 614-487-8211

Washington

RAMCO Software Training Cntrs, Puyallup 206-841-8998

Wisconsin

New Horizons CLC, Madison 608-223-4377

Starting Point Technologies, Brookfield 414-784-0557


Enhanced Support

Support Reference Numbers

Because your support needs vary depending on product use and expertise, Enhanced Support offers two support options.

Note: Usability contracts do not provide support for programming in Object PAL, dBASE, C++ or Object Pascal, or in the use of Class Libraries, (i.e., ObjectWindows Library, Turbo Vision, Visual Class Libraries) component and application development and debugging or client/server connectivity. You will need consultative support available in our Premium Support programs via Developer Assist, Client/Server Developer Assist, Advisor Line or the Incident Line.

Personal Assist

Designed for individual users who need unlimited support on a toll-free number.

•	All questions from installation through usability*

•	Unlimited toll-free 800-number

•	Available 6:00 A.M. to 5:00 P.M. Pacific Time

Price: $149/year/contact for all Borland languages, and PC databases, and decision support tools. Corporate and volume pricing is also available to members of Borland Advantage.

Expert Assist

Designed for software experts who require ongoing support, Expert Assist provides priority hotline support for a single Borland application.

All questions from installation through usability*

Priority access to a senior support engineer

Unlimited toll-free 800-number

One free issue of Borland KnowledgeBase CD

Available 6:00 A.M. to 5:00 P.M. Pacific Time

Price: $249/year/contact for a single Borland PC database or decision support tool.

Premium Support

Premium Support provides additional services tailored for the demanding environments of large corporations, advanced software developers, and Client/Server environments.

Developer Assist

Developer Assist is a specialized program for corporate and independent developers, as well as consultants. It is available for any single application, single language product, or single decision support tool.

•	All questions from installation to consultative

•	Priority access to a senior support engineer

•	Unlimited toll-free 800-number

•	Free one-year subscription to Borland KnowledgeBase CD

•	Consulting support covers assistance with user-created application or database design, coding, and debugging issues

•	Available 6:00 A.M. to 5:00 P.M. Pacific Time

Price: $2,500/year/contact; each additional contact costs $2,000.

Client/Server Developer Assist

Client/Server Developer Assist provides all the specialized support for corporate and independent developers found under Developer Assist with the addition of support for connectivity between a single Borland database or client application and supported SQL servers. With one Client/Server Developer Assist plan purchased at full price, you may add Client/Server developer support for ReportSmith for just $249/year.

•	All questions from installation to consultative

•	Priority access to a senior support engineer

•	Unlimited toll-free 800-number

•	Free one-year subscription to Borland KnowledgeBase CD

•	Consulting support covers assistance with user-created application or database design, coding, and debugging issues

•	Provides assistance with Client/Server connectivity issues between Borland client tools, middleware, and supported SQL servers; i.e., InterBase (r), Oracle, Informix (r), and Sybase Available 6:00 A.M. to 5:00 P.M. Pacific Time

Price: $3,000/year/contact; each additional contacts costs $2,500.

Help Desk Assist

Help Desk Assist bundles a variety of support services to aid help desk professionals deliver quality service to a large number of internal users on all Borland applications and decision support tools.

•	All questions from installation through consultative

•	Unlimited calls from up to three designated contacts

•	Priority access to a senior support engineer

•	Toll-free 800-number

•	Free one-year subscription to Borland KnowledgeBase CD

•	Consulting support covers assistance with user-created application or database design, coding, and debugging issues

•	Available 6:00 A.M. to 5:00 P.M. Pacific Time

Price: $6,000 per year for three contacts; additional contacts cost $500 each.

InterBase Hotline

The InterBase Hotline provides comprehensive support for corporate IS departments.

•	All questions from installation through usability

•	Unlimited calls

•	Toll-free 800 number

•	InterBase connectivity issues

•	Annual software maintenance contract is a prerequisite to service

•	Available 6:00 A.M. to 5:00 P.M. Pacific Time

Price: $6,000/year/contact; additional contacts cost $3,000 each.

USA Support Options	Support Reference Numbers


Pay-as-you-go Support Options

Support Reference Numbers

Advisor Line

This service is ideal for priority response and consultative help on an as-needed basis. Client/Server connectivity and InterBase server support are available on the Incident Line.

•	Help from beginner-level usability questions to advanced consulting-level application design questions

•	Priority access to a senior engineer

•	Available 6:00 A.M. to 5:00 P.M. Pacific Time

•	Call the Advisor Line via a 900-number billed by your phone company or call our toll-free 800-number listed on the back and charge to your credit card.

Price: $2/minute, first minute free.

Incident Line

If you have occasional needs for InterBase or Client/Server connectivity support between client application and supported SQL servers, and have not selected Client/Server Developer Assist as your annual support plan, we recommend the Incident Line. Supported SQL servers currently include InterBase, Oracle, Informix, and Sybase.

An incident is defined as a single support issue and the effort needed to resolve it. A single support issue is a problem which cannot be broken down into subordinate problems. Before an incident is opened for a customer, the customer and the engineer must agree on what the problem is and the parameters for an acceptable solution. An incident may require multiple phone calls and off-line research.

•	Toll-free access to a senior engineer

•	Call-back within four business hours

•	Available 6:00 A.M. to 5:00 P.M. Pacific Time

•	Incident support can be billed to your credit card; $500 minimum for purchase orders

Price: $200/incident. Unused incidents expire in 12 months.

Borland KnowledgeBase CD

Borland provides support tools to help the corporate help desk and developer obtain advanced technical support from their desktop in the Borland KnowledgeBase CD. This information-packed CD gives Borland customers access to thousands of articles, questions and answers, problem reports, and workarounds.

•	The Borland KnowledgeBase CD contains information on Borland C++, Turbo Pascal, Visual dBASE, dBASE, and Paradox

Price: $249 for one-year subscription, published quarterly.

Getting Started

When you sign up for Borland Assist, you will be issued a Personal Identification Number (PIN) that gives you access to the support option of your choice. To learn more about Borland Assist services or to obtain your PIN, please call the Borland Technical Support Information Service at 1-800-523-7070.

You may purchase Borland Assist via check, VISA, MasterCard, American Express, or company purchase order. Purchase order acceptance is subject to credit approval and requires a $500 minimum purchase.

Money-back Guarantee

Getting quality technical support for your Borland product is just a phone call away, and Borland ensures your complete satisfaction via a 30-day, money-back guarantee on any paid subscription you select.

Notes

Terminology: Borland PC databases as defined in this brochure refer to Paradox and dBASE for DOS and Windows. Borland language products refer to our C, C++ and Pascal products. Decision support tools are currently limited to ReportSmith.

Borland products covered by Borland Assist: Visual dBASE, dBASE, Paradox, ReportSmith for PC, ReportSmith for SQL, InterBase, Borland C, C++, and Pascal (DOS, Windows, and OS/2 versions).

*For help with features that require expertise such as Class Libraries (for example, ObjectWindows(R) Library, Turbo Vision(TM)) or database programming languages (for example, ObjectPal(R), dBASE(R)), you will need consultative help available through either Developer Assist, Client/Server Developer Assist, or the Advisor Line. For assistance with Client/Server connectivity you will need support available on Client/Server Developer Assist or the Incident Line.

USA Support Options	Support Reference Numbers


Borland Assist Support Reference

On Line Services

If you subscribe to Compuserve, BIX or GEnie information services, you can receive technical support via modem.

•	On CompuServe, type GO BORLAND

•	On BIX, type JOIN BORLAND

•	On GEnie, type BORLAND Internet FTP site: borland.com

•	Use your modem to download technical information, applications, and sample files.

•	For the Borland Download BBS, call (408) 431-5096 (up to 14.4K baud, 8-N-1)

TechFax

TechFax is a 24-hour automated fax retrieval system.

Call: 1-800-822-4269

Up and Running

No charge to registered users. Up and Running gives you phone support for installation and configuration questions. Phone support is available from 6:00 A.M. - 5:00 P.M., Pacific Time, Monday through Friday.

•	dBASE (DOS)  - (408) 431-9060

•	Visual dBASE  - (408) 461-9110

•	Local InterBase Server  - (408) 461-9189

•	ReportSmith PC/SQL  - (408) 461-9150

900 Advisor Line

Advisor Lines are open from 6:00 A.M. - 5:00 P.M., Pacific Time, Monday through Friday.

•	dBASE (DOS) - 1-900-555-1003

•	Visual dBASE - 1-900-555-1009

•	Local InterBase Server - 1-900-555-1013

•	ReportSmith PC/SQL - 1-900-555-1011

Credit Card Advisor Line

Advisor Lines are open from 6:00 A.M. - 5:00 P.M., Pacific Time, Monday through Friday.

•	dBASE (DOS)  - 1-800-368-9222

•	Visual dBASE  - 1-800-285-1118

•	ReportSmith PC/SQL - 1-800-673-2288

To order Personal Assist or Expert Assist

Call between 6:00 A.M. and 5:00 P.M., PacificTime, Monday--Friday.

Call: 1-800-523-7070

To order Developer Assist or Help Desk Assist

Call between 8:00 A.M. and 5:00 P. M., PacificTime, Monday--Friday.

Call: 1-800-636-7778

To order Borland KnowledgeBase CD or any other product

Call between 7:00 A.M. and 4:00 P.M., PacificTime, Monday--Friday

Call: 1-800-932-9994

USA Support Options


dBASE Custom Controls (CC's)
Visual dBASE Custom Controls (CC's)

Visual dBASE supports the creation of reusable components that you can install on the Control Palette in the Form Designer. Figure 1 shows the sample dBASE custom controls that Borland ships with Visual dBASE. They include an AVI video player, VCR style navigation buttons, automatically numbered page TabBox, OK, Help, Cancel push buttons, a password entry field and more. They can be found in the "C:\VISUALDB\CUSTOM" directory, assuming you installed Visual dBASE in the default location.

Figure 1

The Form Designer has a new option to "Save As Custom", this allows you to take controls you have customized and save them onto the Control Palette for later reuse. Now that developing reusable custom controls is so much easier, you will be able to share controls with other users and developers. CompuServe is a great way to find out what others have built. We expect that, over time, high value and quality controls will become available for resale. Keep up to date with dBASE Custom Controls by using CompuServe, your local user group or subscribing to dBASE Advisor.


Crystal Reports Professional version 4.5

Crystal Reports

#1 Award Winning Reporting Tool

If Borland and over 80 other software vendors have something in common, it's that they know a great reporting tool when they see one.  That's why they all include Crystal Reports in their software programs. Included in your copy of Visual dBASE is Crystal Reports 3.0 for Visual dBASE.

Great news!  Now there is a powerful new version of Crystal Reports, and as an owner of a Crystal Reports 3.0, you qualify for upgrade pricing.  Take full advantage of advanced report programming with an upgrade to Crystal Reports 4.5.  Crystal Reports 4.5 offers far greater report design features, more programming control, up to 10 times faster processing, fully integrated graphing and other hot new features.

At a glance, see the added features in Crystal Reports 4.5 from Crystal Reports 3.0 in dBASE...

Crystal Reports 4.5	Crystal Reports 3.0 in dBASE

Crystal Experts	Yes	No

Report Engine calls	80	40

Database Access	Plus Access, Btrieve	dBASE, Paradox, SQL

Top N, Specified Groups	Yes	No

Integrated graphing - 12 graphs	Yes	No

Automatic styles,

auto-arrange, ruler	Yes	No

Barcode fonts	Yes	No

Report Distribution Expert	Yes	No

Quickly and easily create presentation quality reports with Crystal Reports 4.5:

Plus, Crystal Reports 4.5 is available in either 16-bit or 32-bit, so you can take full advantage of any Windows system, including Windows 95, Windows NT or Windows 3.1. And, if you order Crystal Reports 4.5 on CD, you'll receive both the 16 and 32-bit versions on one CD, so you can make a smooth transition to 32-bit whenever you're ready. It couldn't be easier!

Don't miss out on this great opportunity.  Take advantage of this special upgrade offer:

Upgrade to Crystal Reports version 4.5 for only US $199. Save US $200 off the regular price of US $395.

Call your favorite reseller, local distributor or Crystal Services at 1-604-681-3435:

World wide list of Crystal Distributors.

For more information, contact Crystal by e-mail at sales@crystalinc.com. Or, visit our Internet home page at http://www.seagate.com/software/crystal/


LIBS_How it works
How it works - Local InterBase Deployment

The Local InterBase Deployment Kit allows you to deploy your Visual dBASE applications with the single user Windows 3.1 InterBase Server. The benefit of deploying this type of client/server architecture for your vertical market application is that the Local InterBase Server is a true ANSI SQL92 server, providing support for transaction logic [commit and rollback of record updates], declarative referential integrity, triggers, and stored procedures.

Deployment using the Local InterBase Server is ideal for the vertical market because frequently production databases require the security and error-handling provided by SQL transactions.  If a transaction fails in Local InterBase due to improper values or end user error, as a developer you are assured that the entire transaction is rolled back, giving the you the ability to reprocess the entire set of changes without fear of incomplete processing.

Finally, using the Local InterBase Server Deployment Kit ensures that your customer will return to you for additional database enhancements.  The Deployment Kit prevents the creation of new metadata by the end user [no new tables, triggers, or stored procedures are allowed unless they too buy Visual dBASE Client/Server and learn how to program SQL databases].


Crystal Distributors

In the US:	1-800-877-2340 (Crystal Services)

In Canada:	1-800-663-1244 (Crystal Services)

In Australia:	612-436-1175 (Aeronaut Industries)

In Benelux:	31-15-62-4323 (Exact Software)

In Denmark:	45-98-11-1188 (Norsoft A/S)

In Finland:	358-41-62-0300 (Boss Consulting)

In France:	33-1-3070-6161 (Software Technology Resources)

In Germany:	49-89-9049-9049 (Micro Basic)

49-2203-69-5738 (Esra Software Services)

In Hong Kong:	8522-312-6038 (Datadevelop Ltd.)

In Italy:	39-35-24-9946 (Questar SRL)

In Japan:	8152-951-7054 (AG Tech)

816-204-0611 (Woodland Corp.)

In Korea:	8223-442-0400 (Infotech)

822-538-8700 (CC Com)

822-565-5806 (Myung Sei Information Systems)

In New Zealand:	649-358-8114 (Unilogic)

In Norway:	47-22-236893 (Computer Resources)

47-3289-2240 (Polysoft A/S)

In Poland:	48-61-531-425 (Harpo SP Z O.O.)

In South Africa:	27-21-23-3116/7 (Power Reporting)

In Singapore:	65-371-9841 (CSA)

65-382-7600 (MCSB System)

In Spain:	34-3-540-2982 (Rambla Informatica)

In Sweden:	46-13-11-1588 (Linsoft)

In Taiwan ROC:	8862-788-6777 (Wardpro Infromation Corp.)

8862-705-3779 (Anco Technologies)

In Thailand:	662-513-1077 (Indec Information Development Company)

In United Kingdom:	44-1727-81-2812 (Contemporary Software)


Borland SQL Link Deployment
Borland SQL Link Deployment License

Is your client/server application ready for deployment? Use Borland's native, high performance SQL Links to interact with today's powerful SQL database servers.

The separately available, Borland SQL Link Deployment License provides you, the developer with the ability to distribute Borland's SQL Links 2.51 (part of the Visual dBASE Client/Server version) with an unlimited number of your compiled Visual dBASE applications. Borland SQL Links 2.51 is the best choice when your applications need client/server connectivity with Oracle, Sybase/MS SQL Server, Informix, and InterBase. Once you own your copy of the Borland SQL Link Deployment License no additional run time fees or royalties for the Borland SQL Links will be required.

The benefits of deploying applications with Borland SQL Links include:

•	Instant access to the power, security, and reliability of today's SQL servers

•	Linking your desktop applications to one or more SQL servers

•	Working simultaneously and interchangeably with local and remote SQL data

•	Using server specific features for complete database control

•	Unmatched compatibility with Visual dBASE. Borland SQL Links have undergone extensive, exhaustive testing with Visual dBASE

•	Unlimited distribution of high performance native SQL Links with your applications

Ordering information


About Box
Developed by Visual dBASE Marketing

Borland International, Inc.

Released with Visual dBASE 5.5a


Professional Programming Editors
Professional Programming Tools

Program a lot? If so, you may have a need for a professional, specialized programming tools. Listed are tools that can boost your productivty and save you hours of development.

There are two outstanding programmering editors on this page and information about a Windows bug tracking progam.

Evolve for Windows	The XBase development environment that adapts to your needs

BRIEF for DOS 	Extremely fast and flexible DOS based editor

ED 3.5 for Windows 	Friendly flexible Windows based editor with dozens of time savers

BugTrak ver 2 for Windows 	Organizes bug tracking painlessly

Asymetrix InfoModeler	Visual design tools for database professionals

Versions	Simple version control for Windows

SymWin	WYSIWYG Form and Report Designer in One!

Aragon Toolbox	Collection of tools to help make Visual dBASE applications easy to build (includes source code)


BRIEF for DOS

BRIEF for DOS -  The professional programmer's editor from Borland

Spend More Time Programming

More programmers worldwide have made BRIEF® their editor of choice. They know BRIEF makes them more productive, so the time they spend programming, is really spent programming. With BRIEF, you'll eliminate cumbersome formatting chores with smart indenting and template editing for all major languages.

Customize Your Programming Environment

If BRIEF's default settings don't do what you want, the way that you want, simply change them, using a variety of flexible features. Design a customized programming environment to suit the way you work with BRIEF's C-like macro language. Easily arrange your keyboard to whatever editing format you use with fully reconfigurable keystrokes. And BRIEF's menu-driven SETUP supports any compiler, so you're assured that it instantly works with your software.

Simplify Your Life

BRIEF comes complete with everything you want in an editor, including up to 300 levels of undo/redo, column blocking, bookmarks, and a powerful search and replace. You'll dramatically simplify routine tasks with powerful word processing capabilities including cut, copy, paste, highlight, and indent/outdent.

Learn BRIEF Quickly and Easily

You'll be editing files and writing macros in no time with BRIEF's gallery of intuitive help features at your disposal. The tutorial, comprehensive documentation, context-sensitive and on-line help, as well as mnemonic key assignments, make learning BRIEF as simple as using it.

Get Everything You Need in BRIEF:

•	Unlimited number of files

•	Automatic error location

•	BRIEF macro compiler-CBRIEF

•	C-like macro language with conditionals, procedures, and recursion

•	Hundreds of built-in macros with source code

•	Text-mode DOS and OS/2 support - means it is super fast

•	Template editing and smart indenting

•	Backup and autosave

•	Complete bidirectional search and replace

•	Regular expression and wildcard searches

•	Column block operations

•	Completely configurable keyboard commands

•	Editable and unlimited number of keystroke macros

•	Bookmarks

•	Mouse support

BRIEF Ordering Information


Computer Utilization

Computer Utilization Incorporated

3077 Fite Circle, Suite 6 Sacramento, CA 95827

•	Courses available for all versions of dBASE

•	Beginning to advanced levels

•	Small class size provides a personal touch

•	All classes provide, hands on experience

•	Experienced staff of professional instructors

Please call for a free course schedule : (916) 364 0203


ED 3.5 for Windows
ED for Windows, version 3.5

 The Intelligent, Configurable Editor from Soft As It Gets

For programmers who want a power development environment that works YOUR way

The fastest, most flexible way to slash development time

ED leads the way in intelligent language sensitive editing. Supporting both DOS and Windows, ED is as easy to use as it is to spell. Up and running straight out of the box for the new user but highly configurable, ED fits the way YOU want to work.

For programmers, ED is the one-stop productivity tool that slashes coding time while placing all YOUR tools just a mouse click away. ED powers up YOUR development environment, without tying you to a particular language or platform.

From Assembler to SQL, ED speaks your language; from color syntax highlighting and code templates to advanced tools like file difference analysis and code navigation & browsing, ED makes it easy to get the job done.

Saves you time

Repetitive tasks like global search & replace across files, and down subdirectories are a snap. Drag & drop text using the mouse. Right click to lookup functions in other source files, open include files, do bracket matching or lookup keywords in Windows Help files.

Boosts Productivity

ED formats and writes code for you, with smart indenting, code templates, auto correction, code completion and auto-case conversion, so you'll produce legible, correct code quicker than ever before.

Reduces Errors

Color syntax highlighting makes errors obvious, and dramatically reduces compile edit cycles. With support for 29 different languages no other editor comes close. And you can compile and correct errors without ever leaving ED.

Gives YOU control

ED takes intelligent language sensitive editing, then adds access to compilers, error tracking and YOUR tools from inside the edit session. ED wraps them up into a development environment that does it YOUR way.

Use ED straight out of the box; use ED's flexible configuration options, or create your own custom enhancements using ED's fast C extension language - YOU are in control.

Powerful Editing Features

•	Multiple windows with multiple files within a window

•	Virtual memory engine handles big files

•	Named keyboard macros

•	Templates write code for you

•	Unlimited undo and redo

•	Cut/copy/paste across files and windows

•	Column, line and stream blocks

•	Shift blocks horizontally left and right

•	Drag & drop text

•	Column block operations including overlay, move, copy and fill

•	Temporary text buffers

•	Sort blocks of text

•	Rulers

•	Line drawing

•	Search & replace across files, search filtering and incremental search

•	Bookmarks

•	Paragraph reformat and word wrap

•	Auto-save and optional backup files

Easy to use

•	Customizable toolbars with tool hints

•	Floating and docked toolbars

•	Tabbed style dialogs

•	Context sensitive help throughout

•	Mouse and status bar shortcuts

•	Keyboard remapping

•	Open files and windows retained across sessions

•	Histories recall previous operations

•	File name completion

All the Help You Need

•	Extensive context sensitive help

•	Quick reference help

•	Word search across help files

•	Full support for Windows SDK and any other Windows help files

•	Right click on any word for context sensitive API help

Advanced Productivity Tools

•	Visually compare files for differences

•	Search and replace across all files on disk

•	Spelling checker with 100,000 word dictionary and user defined word list

•	Compile and fix errors from within ED

•	Hypertext function lookup and help

Gets You Up and Running Fast

•	ED can emulate almost any editor

•	Support included for

Brief	Windows/CUA

MultiEdit	Norton

Wordstar	Qedit

•	ED's menus and keyboard are easily reconfigured to suit your specific requirements

Precision Search and Replace

•	Filtered searches let you include or exclude specific textual elements

•	Search and replace across files, directories and drives

•	Regular expressions, Ignore case, Match whole word

•	Incremental search

•	Search and replace within marked blocks

•	History lists for repeating previous searches

Powerful Programming Support

•	Intelligent language sensitive editing

•	Auto Correction finishes words for you

•	Smart code indenting, code templates and auto-completion

•	Language templates specified in simple text files

•	Indent using tabs, spaces or virtual space

•	Automatic case conversion

Color Syntax Highlighting

•	See your code in a whole new light

•	Language sensitive

•	Support for 29 languages pre-defined

•	27 individual language elements for each language

•	User defined word lists

Speaks Your Language

•	Visual dBASE	Basic	Assembler

•	HTML	C/C++	Lisp

•	Cicode	Paradox	Clipper

•	Pascal	COBOL	PL/I

•	Dataflex	Progress	FoxPro

•	Rexx	Smalltalk	DOS Batch files

•	Eiffel	SQL	Forth

•	Windows INI file format	FORTRAN

•	29 pre-defined languages currently supported

•	Simple ASCII text file format for user modification, extension or customization of word lists and templates

Code Navigation and Browsing

•	With ED's function tags database you can:

Go to any function in any source file

 	Access functions using wild cards

•	Popup a list of all functions in the current source file and go to any one

•	Move to the next or previous function

•	Locate and open language include files

•	Extract dBase/Clipper DBF file field information

•	Perform statement and bracket matching

•	Get context sensitive help on any word in any Windows help file

Printing in style

•	Syntax highlighting using fonts styles, italic, bold etc.

•	Customizable headers and footers

•	Print multiple columns - up to 20

•	Line around page & between columns

•	Set margins

•	Optional line numbers

•	Use any printer font

•	Eject page on form feed

Network and Team Support

•	Files locked during editing

•	Locked files can be viewed by other users

•	Configuration and history information maintained independently for each user

Built-in C Extension Language

•	Write your own extensions to ED

•	Approximately one megabyte of source provided

Full Environment Support

•	English, German and Japanese versions available

•	Full international keyboard support

•	Double Byte Character Set (DBCS) Kanji support in Japanese version

•	Support for UNIX files and mainframe DOS emulators

•	Common features, functions and documentation across DOS and Windows

Ordering Information


Delphi Link for Lotus Notes

Develop Lotus Notes Applications Using Visual dBASE

Delphi/Link for Lotus Notes provides Visual dBASE and Delphi developers with a set of customized native links to build high-performance applications that access Lotus Notes databases. Use Delphi/Link to rapidly create an unlimited number of sophisticated, easy to use Visual dBASE applications that integrate and expand the unique functionality of Lotus Notes.

Delphi/Link allows you to read, update, create, and display Notes documents, perform full-text search, create Notes mail-enabled applications, display and modify Rich Text Information including objects, and more!

Features

NotesData Controls

•	Rapidly create customized easy-to-use front ends to Notes databases

•	Easily integrate Notes data with all major relational databases

•	Query, update, create, and delete Notes documents of different forms

•	Query and retrieve data from Notes views

•	One step access to a complete list of all Notes databases, forms, views, macros, and other information

•	Perform full-text searches on Notes views and databases

•	Compose and send Notes mail with file attachments

•	Initiate Notes macros

Rich Text Control

•	Allows you to access, display and manipulate Notes rich-text information including file attachments, doc-links and embedded/linked OLE objects

HLIST (Hierarchical View ) Control

•	Easily display Lotus Notes Views in a hierarchical list box as it appears in Notes

•	Expand/collapse all items

•	Navigate through documents in the view

System Requirements

•	IBM AT-or PS/2-compatible computer with an Intel 80386 or 80486 processor

•	EGA, VGA, or SVGA graphics adapter and monitor

•	Minimum 6 Mb memory (8Mb recommended)

•	40 Mb disk space required

•	Notes certified network adapter and driver for OS/2 or DOS

•	Lotus Notes Client Release 3.0 or later, for Windows

•	DOS 3.3 or later

•	Microsoft Windows 3.1

•	Borland Visual dBASE, Borland C++ or Delphi

Top Reasons to Buy

•	Use the integrated Delphi/Link within Visual dBASE's Rapid Application Development environment, Borland C++, or Visual dBASE to quickly become a proficient Lotus Notes developer.

•	Easily expand the capabilities of Lotus Notes without having to surface the Notes API. A new and efficient way to add additional functionality to Lotus Notes applications.

Ordering Information for Delphi Link for Lotus Notes

For technical information, contact:

Brainstorm Technologies, Inc.

24 Thorndike Street

Cambridge, MA 02141

(617) 492-3399Phone

(617) 492-9126Fax


Fractal Compression Utility

Images, Inc.

Fractal Compression Utility

The Essential Desktop Publishing Tool from Iterated Systems

Now available at a special price from Borland.

Product Description

Images Incorporated is a powerful and flexible image compression utility for managing image storage and retrieval, presentations, desktop publishing and multimedia applications. Images Incorporated provides fractal image compression/decompression, resolution enhancement, image file conversion capabilities, and editing functions. Using the award-winning ImageKnife/VBX custom control you can add these same imaging capabilities to produce world-class multimedia applications.

Using Fractal Image Compression, Images Incorporated turns your images into space-saving files that quickly expand to sharp brilliant graphics. Your images can be compressed to a fraction of their former size while maitaining their superior image quality, without bluriness or pixelation. Resolution Enhancement also provides you with the ability to quickly display your high quality images at resolutions both higher and lower than the original image to suit your needs. And you benefit from the flexibility of converting your images to other file types you may require such as .BMP, .GIF, .PCX, .TIFF, TGA and more!

Features & Benefits

Ultra high image file compression

•	Reduce image files to a fraction of their former size without loss of visual quality.

•	Save megabytes of disk space.

Ultra high file decompression

•	Decompress and display images at ultra high speeds while maintaining image quality.

Resolution Enhancement

•	Increases the quality of your images for high resolution printing or screen display purposes without pixelation that usually occurs in an unenhanced image.

ImageKnife/VBX

•	Integrate the Fractal Transform Technology with the power of the ImageKnife/VBX image handling development component to expand the capabilities of your own application.

•	Its OLE compatible so you can incorporate fractal comprssion into any OLE compatible application.

Size and Resolution Independence

•	Display remarkably clear images that are perfectly sized and just the right resolution for you.

File Conversion

•	Instantly export (convert) an image of various color depths to other popular file formats supported by other applications (BMP, PCX, RAS, TGA, TIFF, etc).

File Archiving

•	Decrease your image file sizes by an additional 20% by compressing them into an archived format.

Image Editing Functions

•	Cut, duplicate, paste, undo, rotate, horizontal, and vertical flip, resize, region select, etc.

Resizing

•	Expand or shrink your images by a factor of 2, 4, 8, or 16 times

•	Expand or shrink your images by the factor you desire to suite your needs.

Top Reasons to Buy

Develop professional multimedia applications with more graphics than otherwise possible. Solve your image storage problems by reducing your image files to a fraction of their former size without any loss of visual quality. Fast decompression speeds allow for immediate retrieval of your high quality compressed images. Scale your images without distortion by decompressing images to resolution that are both higher and lower than that of the original image. Even increase the apparent resolution of some images. Add the imaging capabilites of Images Incorported to your own applications using ImageKnife/VBX.

System Requirements:

80386SX/16 MHz or higher 4 MB RAM 2 MB free disk space for program

Images, Inc. Ordering Information. Ask for Part Number: Z3711 40 FG 2 34

For technical information, contact:

Iterated Systems

3525 Piedmont Rd

7 Piedmont Center STE 600

Atlanta, GA 30305-1530

Phone: 404-264-8000

FAX 404-264-8300


ImageBASIC

From Diamond Head Software Inc.

ImageBASIC, an integrated suite of imaging software components ("VBX's"), provides everything needed to develop production imaging software and workflow systems. ImageBASIC incorporates best-of-breed engines from the industry leaders, including support for over 100 scanners and advanced image display and manipulation features using Pixel Translations; OCR from Calera and Xerox; bar code and mark sense recognition from VisionShape; handprint recognition from Nestor; full text indexing from ZyLAB; workflow from Action Technologies and integration with Lotus Notes. ImageBASIC works with Visual dBASE, Visual Basic and Delphi. ImageBASIC has twice been awarded Editor's Choice and twice named Product of the Year.

High End Hardware Supported

•	NSM CDR 100 SC - 100 CD-ROM Jukebox

•	Xionics XipPrint

•	Cornerstone ImageAccel Cards and ScaleToGray Monitors

•	Mekel

•	Kodak

Distributors and Resellers list by country

Australia	Phone

Aeronaut Industries Pty Ltd	+61 2 436 1175

Informatica	+61 2 552 3334

France

MediaGraph	+33 1 414 10707

Hong Kong

Fortune Info Systems	+852 811 9662

SCS Computer Systems	+852 609 1338

Hungary

Dataware	+361 163 4699

Germany

Paperlink EDV	+49 711 735 6077

Greece

Mantis Office Information Systems	+30 1 645 8744

India

International Imaging Solutions	+91 11 688 2245

Israel

OpticBit	+972 3 562 0964

Italy

INFOservice srl	+39 41 53 48 701

Malaysia

Bass Consulting SDN BHD	+60 3 230 5588

Netherlands

Acal Auriema	+31 40 50 2602

Expansion	+31 10 433 2306

Singapore

Asiasoft Pte Lte	+65 742 6000

Spain

Visual Programming	+34 987 229963

Taiwan

Fortune Information Systems	+886 2 719 2000

United Kingdom

Headway Technology Group Ltd	+44 1 252 717071

Pear Computing	0865 872696

United States

Diamond Head Software, Inc.	+1 714 756-3206


Updates to this file

Since the market for component software is constantly evolving, this is not a complete list of products and services to help you get the job done with Visual dBASE. Look for updated versions of this file on the Visual dBASE forum on Compuserve and on the Borland WWW site.

If you have a product or service that you think would be appropriate for this file, please contact the Visual dBASE Developer Relations group at Borland's world wide corporate headquarters on +1 408 431-1000. Alternatively, send an email to vdbase@borland.com.


Versions

The Last Word in Version Control

Whether you are working under Windows, or Windows NT, new Version 1.1 from StarBase Corporation has all the features you've been wanting to make version control simple, fast, and foolproof.

You'll really love Versions teamed with Visual dBASE.

Order Information

See your Dealer today or call :

US & Canada	: 1-800-819-3262

Europe (UK)	: (0) 342 85 0930


BugTrak ver 2 for Windows

Software Defect Management for Windows

Organizes Bug Tracking Painlessly

Deliver quality not bugs!

BugTrak is a Windows productivity tool that organizes all the information to do with software defects and enhancement requests, throughout the life of your software. It's a painless approach to eliminating bugs, organizing testing and managing new releases.

BugTrak's friendly, intuitive user interface makes it easy for you to put together all the information which comes in from testing, end users, and other sources. Then BugTrak helps you manage the business of getting the bugs out, gives you confidence that the completed software is solid, and provides a history of precisely what's been done.

BugTrak puts you back in control, and helps ensure the bugs are out and the quality is in.

Knowledge is power

BugTrak lets you categorize, prioritize and delegate problems for investigation and resolution. And you will always have a detailed history of who did what and when. The history you generate becomes a knowledge base everyone can draw on.

Boosts Productivity

BugTrak's flexible design integrates easily into your current environment without disrupting the way you work. Powerful query, reporting and graph functions let you get to the specific information

you want, and present it in the way most useful to you.

Improves Communications

Team support is available with the multi-user versions of BugTrak. Team members can quickly see the problems allocated to them and they can use BugTrak's Note-It! facility to take notes, and send them to other team members. And then theirs Reminders to keep you posted about pending

deadlines, cut-off dates for new releases, team meetings etc.

Built in word processing and mail merge functions make it easy to get problem status and resolution information out to your clients.

Intuitive and Easy to Use

Defect control is a complicated subject, and you don't want to waste time on an unproductive learning curve. So BugTrak is designed not just to simplify the process, but to make it obvious. The first thing you will see is a desktop, with familiar Windows menus. Use the tabs to move between major functions - Incidents, Details and Release Notes. Use the toolbar to work within the function, and to access BugTrak's powerful set of desktop tools. The filter, view and sort bar lets you see just the items you need, in the most appropriate sequence. Point and click for details on specific items.

Information you need

Use Incidents to record information about problems and enhancement requests. Incidents can be allocated to a team member, making them responsible for acting on a problem. The actions performed to resolve an incident are entered as responses, with each incident able to have many responses. Release notes keep track of implementation details associated with any incident, and provide reporting when getting your next version ready. Client and contact details can be  associated with each incident, as well as external files such as Fax's or Source code.

Tools

Just point and click to add, edit, delete, print or search for incidents, release notes or responses. Set up filtering to display particular groups of incidents, view just the fields you want, or see the bigger picture with graphs.

Use Note-It! to take down notes and send them to another user, or use the word processor and mail merge to get a response out to clients. With the status bar and tool help, you'll always know what you're doing, right from the beginning.

Lets Report on..

BugTrak includes comprehensive reporting and graphs. See the big picture at a glance with Distribution and Trend graphs - pie, bar, area, 3D - they're all there!.  The same powerful selection filters and sort sequencing that you use on the desktop can also be used for reporting and graphs.

Working in a Team

BugTrak is built both for single users and teams, on one system or sharing databases over a LAN. Multi-user locking and refresh ensure database integrity. Full support for delegation, prioritization and communication between team members is provided.

Control Access

User profiles control what each BugTrak user can and can't do. All BugTrak functions such as Add, Edit, Create Database etc. can be enabled on a user by user basis giving your System administrator total control.

Customization

Set up your own databases, the way you want them. Change your view of the information, define field names and attributes, list boxes, client and contact databases - you name it. Drag, drop and resize columns to get just the view you want. Use BugTrak as supplied or change it to work your way.

Drill Down for Details

To see more detail, just keep clicking. Any field more complicated than a simple value has a list box behind it that you can select from. For instance Client Code - click on the field to see a list to select from, click again to see contact or address information, or to add details for a new client. And there's always comprehensive on-line help available.

Filter, Sort and View

With Bugtrak's Filters you can quickly setup SQL queries to see just the information you want. Filters such as 'all unresolved problems', and 'problems allocated to me' are there from the start or create your own. Sort by any field or combination of fields, like severity, priority or version, in ascending or descending order. And rearrange and choose columns to view only those required.

And Much More...

BugTrak provides a host of powerful features - little things like phone lists and important reminders, and big things like graphs, full import & export and a word processor with database driven mail merge.

BugTrak's delegation, prioritization, reporting and communication abilities help you wrap up your package and deliver quality software and service that doesn't fall between the cracks.

Version 2 now shipping with:

Graphs, Attachments, Import & Export, Incident list reports, Populate, Configurable reference number, Separate system, incident, list box & client databases, change field titles, new fields....

Ordering Information


BugTrak Ordering Information

For details of resellers in your country please contact

Soft As It Gets P/L

CompuServe ID	CIS 100032,522

Internet 	saig@ozemail.com.au

Phone	+613 9885 4445

Fax 	+613 9885 4444

In the United States contact:

VBxtras, Inc.

Phone	1-800 788 4794  or  1 404 952 6356

Fax	1 404 952 6388

In the United Kingdomcontact:

QBS Software Limited

Phone	+18 1 994 4842

Fax	+18 1 994 3441


Ordering Information
ED Ordering Information

For details of resellers in your country please contact

Soft As It Gets P/L

CompuServe ID	CIS 100032,522

Internet 	saig@ozemail.com.au

Phone	+613 9885 4445 	(note : 61 is the dialing country code for Australia)

Fax 	+613 9885 4444

In the United Kingdomcontact:

QBS Software Limited

Phone	+18 1 994 4842

Fax	+18 1 994 3441


SilverWare Pricing and Availability

To order your copy of the ultimate Windows communications tool kit contact SilverWare Inc. or one of the SilverWare Inc. dealers:

Address:	SilverWare Inc.

3010 LBJ Freeway  #740

Dallas. Tx

75234 (USA)

Telephone:	(214) 247-0131

Fax:	(214) 406-9999

BBS:	(214) 247-2177	300-19200/N/8/1

WWW:	http://rampages.onramp.net/~silver

Remember...

Price US $299.00

No royalties...

Free technical support...

30 day money back guarantee...

MC / Visa / AMX or (COD Money Order)

Make your life a little easier and take advantage of the ultimate multi-language communications library for serious Windows developers.

Call Today!	SilverWare Inc. Dealers


Introduction

SilverWare Windows Communications Tool Kit On-line Product Information

Features and Benefits

Function List

Communications Functions

System Functions

Timer Functions

What Programmers are saying

Pricing and Availability

SilverWare Inc.	Phone: (214) 247-0131

3010 LBJ Freeway, Suite 740	Fax:  (214) 406-9999

Dallas, TX  75234 (USA)	BBS:  (214) 247-2177

Providing Asynchronous Communications Solutions Since 1986.


Features

 Multi Language Support

 Reliable (NO WM_COMMNOTIFY)

 Intelligent High Level Dialog Functions

 File Transfers

 Examples For Every Language...

 Very Easy to use

 Device Independence (Beyond COM2)

 Extensive On-line Help

 Auto Dialer

 SmartModem Support

 No Royalties

 Free Technical Support

 Comprehensive Function Return Code System

 Timer Functions

 Low/High Level Control

 Professional Documentation

 Consistent Naming


Multi Language Support

The SilverWare Windows Communications Tool Kit comes fully documented with examples, prototypes and interface information for the following languages.

Support for:

 C / C++

 Visual dBASE

 Delphi

 Paradox for Windows

 Turbo Pascal for Windows

 and others....

The library is a Microsoft Windows Dynamic Link Library (DLL) and is accessible from any Windows language or program that can make FAR PASCAL function calls and can pass 16 and 32 bit parameters by reference and value.


Reliable (NO WM_COMMNOTIFY)

WM_COMMNOTIFY seems a little unstable:

There are a few different methods to provide language extensions in the Windows environment.  Two of the most popular are VBX (Visual Basic Extension) and DLL (Dynamic Link Library).

Most vendors that use the VBX approach use the WM_COMMNOTIFY message.

First our experience with WM_COMMNOTIFY.

This method enables a Windows message to be posted into the Windows message queue when COM events occurs.  At first glance you would think that this is a good way to handle communications programming in the Windows environment.  As further testing showed, this method causes problem in that it bombards the message queue with COM event messages.  As a result, the communications link becomes unstable and event messages become lost.  When this occurs, communications under Windows become unstable.

How do we do it:

We created a DLL (Dynamic Link Library).

The SilverWare Windows Communications Tool Kit does NOT use the WM_COMMNOTIFY message.  We provide functions that you can call to retrieve information or check status on the serial port.

This may pose the question, How to I get notified when something happens on the COM port?  You can simply utilize a timer control from your native language.

The timer method allows you to gain control on a timed basis and when a COM condition of interest has occurred you can service this condition.   The timer method allows the control to be at the application level and you can decide how often a timer message is to be posted into the Windows message queue.  In addition you can use a single timer to control multiple COM ports in an application.

Of course you do not have to use a timer to read data from a serial ports.  You can use while loops,  object controls or any method that best suites your application design.

This overall approach using a DLL and timer controls results in the most reliable communications link in the Windows environment.


High Level Dialog Functions.
We do the work.

You make the call, we'll do the work!

The following high level dialog functions are designed to decrease your development time and create Windows common dialogs that can be invoked with just a single function call.  This will enable you to create complete user interfaces for all your standard communications settings.

Above each dialog is a single line of code calling the function that generated the dialog.

It's that easy!

nReturn = SWCDLGFileTransferOptionsDia(Form.hWnd, "", -1, 0)

nReturn = SWCDLGAutoDialer(Form.hWnd, "", nPort_ID, 0, cDialString, cConnectResponse, 0, 60, 4)

nPort_ID = SWCDLGClosePort(Form.hWnd, "", 0)

nReturn = SWCDLGGetUARTSettings(Form.hWnd, "", nPort_ID, 0)

nReturn = SWCDLGModemOptionsDialog(Form.hWnd, "", -1, 0)

nPort_ID = SWCDLGOpenPort(Form.hWnd, "", 0)

nReturn = SWCDLGSelectDirectory(Form.hWnd, "", "\", cDirSelection, LEN(cDirSelection), 0)

nReturn = SWCDLGSelectFileName(Form.hWnd, "", "\", cExtFilter, cFileSelection, LEN(cFileSelection), 0)

nPort_ID = SWCDLGSelectPort(Form.hWnd, "", 0)

nReturn = SWCDLGSelectTransDirection(Form.hWnd, "", -1, 0)

nReturn = SWCDLGSelectTransType(Form.hWnd, "", -1, 0)


ftrans

File Transfer Protocols

The SilverWare Windows Communications Tool Kit supports all the popular error correcting file transfer protocols to insure reliable, error free data transmission.

 XMODEM

 ZMODEM

 YMODEM (Batch)

 YMODEM-G (Batch)

 1K-XMODEM

 1K-XMODEM-G

 ASCII

These protocols are easy to use.  Just call the desired protocol passing the COM port, file spec and the parent window handle.

(i.e.)

nReturn = SWCTransmitZMODEM(nPort_ID, cFileSpec, Form.hWnd)


examples

Examples and Prototypes

The SilverWare Windows Communications Tool Kit comes with an example for every function in each language documented.

Click below to see a Visual dBASE specific example.

SWCT  Function Examples


File Transfer Example
How easy is it to use?

Below is a simple Visual dBASE program that opens the communications port, dials into an on-line system, uploads files, disconnects and closes the open COM port.

Now that's easy...

* Library function prototype file

#include "\SWCT500\DBWIN\INCLUDE\SWCTFUNC.H"

SET TALK OFF

PRIVATE nReturn, nPort_ID, cConnect, cDialString

nReturn     = 0

nPort_ID    = 0

cConnect    = ""

cDialString = "247-2177"

cFileSpec   = "*.DBF"

nPort_ID = SWCDLGOpenPort(Form.hWnd, "", 0)

IF nPort_ID >= 0 nReturn = SWCDLGGetUARTSettings(Form.hWnd, "", nPort_ID, 0)

cConnect = Space(100) && Variable to hold connect response string

cDialString = ""      && Telephone number to dial

cConnect = SPACE(100) && Variable to hold connect response string

* Display the auto dialer dialog box

nReturn = SWCDLGAutoDialer(Form.hWnd, "", nPort_ID, 0, cDialString, cConnectResponse, 0, 60, 4)

* Send all .DBF  files via ZMODEM

nReturn = SWCTransmitZMODEM(nPort_ID, cFileSpec, Form.hWnd)

* Putting Modem In Command State

nReturn = SWCSMEscape(nPort_ID)

nReturn = SWTWait(1000)         && 1 second

* Hanging Up Phone and Close open COM port

nReturn = SWCSMHook(nPort_ID, "0")

nReturn = SWCCloseCom(nPort_ID, 0)

ENDIF

* Remove the library from memory

RELEASE DLL SWCT500.DLL

RETURN


Device Independence (Beyond COM2)

One of the main features of Microsoft Windows as far as a developer is concerned is Device Independence.  A developer no longer needs to be concerned with the type of video display, printer or communication port(s) that are  connected to the PC.  If you need to access a multiple serial port device (such as a DigiBoard) the only requirement is that the vendor of the device must supply a windows device driver for their device.

The SilverWare Windows Communications Tool Kit makes all serial port requests through the published Microsoft Windows API.  The Windows API in turn maps the serial port requests to the currently installed Windows serial device driver.


SWCTransmitZMODEM() Function
On-line Help Example

SWCTransmitZMODEM() Function

See Also

Syntax

Visual dBASE

(CINT) SWCTransmitZMODEM(nPort_ID, cFileSpec, nhWnd)

C / C++

int FAR PASCAL SWCTransmitZMODEM(int Port_ID, LPSTR lpszFileSpec, HWND hWnd)

Port_ID

COM port ID that identifies an open device.  This ID is the return value from a successful call to SWCOpenCom().

FileSpec

Drive and path name for the file(s) to send.  FileSpec can contain wildcards such as *.*, *.txt, file?.dbf, etc...

hWnd

Handle of the parent window.

Description

Transmits file(s) via ZMODEM.

To enable the crash recovery feature of ZMODEM, you must call SWCZMSetResume() using a 1 to enable crash recovery.  By default crash recovery is set off.  Crash recovery is accomplished by re-transmitting the same file to the same destination and path.  The previous received portion of the file must not be modified before recovery.  Also, you can not change the time or date stamps of the files on the sending or receiving machine before attempting crash recovery.

Note

When using ZMODEM it is recommended to have a transmit and receive buffer of at least 4K.  These are set with the SWCOpenCom() function.

You may need to enable RTS/CTS flow control before using this function. See: SWCSetRTSCTSFlowControl().


SWCTransmitZMODEMSee
See Also

SWCDLGFileTransferOptionsDia() Function

SWCDLGSelectFileName() Function

SWCDLGSelectTransDirection() Function

SWCDLGSelectTransType() Function

SWCReceiveZMODEM() Function

SWCTransmitASCII() Function

SWCTransmitXMODEM() Function

SWCTransmitXMODEM1K() Function

SWCTransmitXMODEM1KG() Function

SWCTransmitYMODEM() Function

SWCTransmitYMODEMBatch() Function

SWCTransmitYMODEMGBatch() Function

SWCXYMSetCheckType() Function

SWCXYZMSetCDMonitoring() Function

SWCXYZMSetMaxRetries() Function

SWCXYZMSetProgressBox() Function

SWCXYZMSetProgressBoxDelay() Function

SWCZMSetCRC32() Function

SWCZMSetResume() Function

SWCZMSetRxBufferLength() Function

SWCZMSetRxCharTimeout() Function


DBSWCTransmitZMODEM
SWCTransmitZMODEM()

Copy Example	Print Example

* This example is designed to be ran from a Form.

* First create a PUSHBUTTON1 pushbutton, then copy the code

* to the PUSHBUTTON1_OnClick event procedure.

* (ie. Procedure PUSHBUTTON1_OnClick)

* To run the example click PUSHBUTTON1.

* Library function prototype file

#include "\SWCT500\DBWIN\INCLUDE\SWCTFUNC.H"

SET TALK OFF

PRIVATE nPort, nPort_ID, nRXQSize, nTXQSize, nBaudRate, cBuffer, cFileSpec

* Disable PUSHBUTTON1 to stop multiple instances

Form.PUSHBUTTON1.Enabled = .F.

nPort        = 0                && COM1

nPort_ID     = 0

nRXQSize     = 4000

nTXQSize     = nRXQSize

nBaudRate    = 2400

nReturnCode  = 0

cBuffer      = SPACE(256)

* You should copy any file to \SWTX.TMP to run this example

cFileSpec    = "\SWTX.TMP"      && File to up load

nPort_ID = SWCOpenCom(nPort, nRXQSize, nTXQSize, 0)

IF nPort_ID >= 0                && COM port open successful

?"SWCOpenCom()", nPort_ID

?SWCSetUart(nPort_ID, nBaudRate, 0, 8, 1)

MsgBox("Choose OK To Start SWCTransmitZMODEM()")

* Start file transfer

nReturnCode = SWCTransmitZMODEM(nPort_ID, cFileSpec, Form.hWnd)

* Assign spaces to cBuffer to hold return text message

nReturnCode = SWCErrorToText(nReturnCode, 0, cBuffer)

MsgBox("Text message = " + cBuffer)

?"SWCCloseCom()", SWCCloseCom(nPort_ID, 0)

ENDIF

* Enable PUSHBUTTON1

Form.PUSHBUTTON1.Enabled = .T.

* Remove the library from memory

RELEASE DLL SWCT500.DLL

RETURN


Auto Dialer

nReturn = SWCDLGAutoDialer(Form.hWnd, "", nPort_ID, 0, cDialString, cConnectResponse, 0, 60, 4)

Displays an auto dialer dialog box for dialing the modem.  The auto dialer will return SWCSUCCESSFUL if a CONNECT response is detected or SWCLOCALABORT if the Exit push button is pushed..  The modem specific CONNECT response will be received by the ConnectString variable.  This variable can be used to determine the baud rate connection.

SWCDLGAutoDialer() will auto redial if NO CARRIER or BUSY is returned by the modem.  The Abort push button will Hang up the modem.  The Exit push button will exit SWCDLGAutoDialer() without hanging up the modem.


Smart Modem Support (AT command set)

The SilverWare Windows Communications Tool Kit offers complete SmartModem control.  We supply a host of (SWCSM) SmartModem functions that makes modem control easy.  These (SWCSM) functions support the standard AT command set and will work with any AT command set modem.

In addition to the canned SmartModem functions, we supply the SWCSMTransmit() function that enable you to transmit your own custom modem setup strings.  This function has build in (Inter Byte Delay Pacing) to pace the speed in which characters are sent to a modem in command state.  This feature prevents AT command from being sent to the modem to fast avoiding modem overrun errors.

For reading modem responses, we provide the function SWCSMGetModemResponse().  This functions enables you to read modem response strings and set time-out values for the read.  It makes modem response handling easy.

See the Communications Function section for complete list of SmartModem functions.


royalities

No Royalties

The SilverWare Windows Communications Tool Kit is royalty free...

This means that if you create an application that you sell to 1 or 1001 different customers, you do not have to pay any additional fees to SilverWare Inc.

Our license agreement states that you are required own at least one copy of the SWCT library per programmer, NOT per program.


Technical Support_1

Technical Support

SilverWare Inc. offer complete technical support via. direct phone support or on our 24hr BBS.  You will speak to communications expert that is also a programmer.

The SilverWare Windows Communication Tool Kit also comes with a (FAQ) Frequently Asked Question on-line help file.  This help file has been created by our technical support staff that list the most commonly asked questions about our product and communications in general.  The help file will let you browse through the questions and click on the question to see the answer.


Timer Functions

The SilverWare Windows Communications Tool Kit includes a host of useful timer functions.  These timer functions allow you to create and manipulate count down timers.

You can create, stop, pause, restart, check and destroy timers with simple function calls.

These timers are very useful when creating communications applications.  The SWCT timers allow you to perform all your time-out type routines without having to maintain complex coding.  All you have to do is create the timer and monitor the countdown.  We do the rest!


Consistent Naming

In the SilverWare Windows Communications Tool Kit, all parameter, variable, structure, field and constant names conform to the Microsoft naming conventions.  The Microsoft naming conventions are a set of rules that define how to create names that indicate both purpose and data type of an item.  The conventions are used in this help file to help you readily identify the purpose and type of the function parameters and structure fields.  The conventions are also used in sample programs sources to make them more readable and informative.

We have also added a three character prefix to all of our function names.  This serves two purposes; first it decreases the possibility of a name collision with function names in other library products and secondly helps indicate which functional group the function belongs to.

The first two characters of our three character function name prefix is SW indicating SilverWare.  The third character of our function name prefix will indicate the type of function:

C = Communications

S = System

T = Timer

After the function name prefix will be the name of the function in the standard Verb / Noun naming convention.

(i.e.)

SWCTransmitString()

SW	: SilverWare function

C	: Type is communications

Transmit	: Verb

String	: Noun


Communications Functions

Dialog Box Functions

The functions in this group provide pre-written high level dialog functions for common communication programming.

SWCDLGAboutBox()	Displays the SWCT about dialog box.

SWCDLGAutoDialer()	Displays an auto dialer dialog box for dialing the modem.

SWCDLGClosePort()	Displays a dialog box with the option to close an open port.

SWCDLGFileTransferOptionsDia()	Displays a dialog box with the option to set file transfer protocol defaults.

SWCDLGGetUARTSettings()	Displays a dialog box for setting the UART settings.

SWCDLGModemOptionsDialog()	Displays a dialog box to set all the internal modem options.

SWCDLGOpenPort()	Displays a dialog box to open a communications port.

SWCDLGSelectDirectory()	Displays a standard Windows directory dialog box with the option to choose a drive and directory.

SWCDLGSelectFileName()	Displays a standard Windows file dialog box with the option to choose a drive.

SWCDLGSelectPort()	Displays a dialog box to select an open communications port.

SWCDLGSelectTransDirection()	Displays a dialog box for file transfer direction.

SWCDLGSelectTransType()	Displays a dialog box for file transfers protocols available.

File Transfer Functions

The functions in this group provide file transfer capabilities including XMODEM, 1K-XMODEM-G, YMODEM, YMODEM-G, YMODEM Batch, ZMODEM and ASCII.

SWCASCIISetExitCode()	Sets the termination character for SWCReceiveASCII().

SWCReceiveASCII()	Receive an ASCII file to disk.

SWCReceiveXMODEM()	Receive a file via XMODEM.

SWCReceiveXMODEM1K()	Receive a file via 1K-XMODEM.

SWCReceiveXMODEM1KG()	Receive a file via 1K-XMODEM-G.

SWCReceiveYMODEM()	Receive a file via YMODEM.

SWCReceiveYMODEMBatch()	Receive file(s) via YMODEM Batch.

SWCReceiveYMODEMGBatch()	Receive file(s) via YMODEM-G Batch.

SWCReceiveZMODEM()	Receive file(s) via ZMODEM.

SWCTransmitASCII()	Transmit an ASCII file.

SWCTransmitXMODEM()	Transmit a file via XMODEM.

SWCTransmitXMODEM1K()	Transmit a file via 1K-XMODEM.

SWCTransmitXMODEM1KG()	Transmit a file via 1K-XMODEM-G.

SWCTransmitYMODEM()	Transmit a file via YMODEM.

SWCTransmitYMODEMBatch()	Transmit file(s) via YMODEM Batch.

SWCTransmitYMODEMGBatch()	Transmit file(s) via YMODEM-G Batch.

SWCTransmitZMODEM()	Transmit file(s) via ZMODEM.

SWCXYMSetCheckType()	Control CHECKSUM/AUTO-FALLBACK on a X&Y MODEM receive protocols.

SWCXYZMSetCDMonitoring()	Set Carrier Detect monitoring for file transfer protocols.

SWCXYZMSetMaxRetries()	Set maximum retries for all file transfer protocols.

SWCXYZMSetProgressBox()	Set file transfer display status type.

SWCXYZMSetProgressBoxDelay()	Set the number of seconds that the file transfer box will remain on the screen after transfer.

SWCZMSetCRC32()	Enable/disable CRC-32 error checking for ZMODEM.

SWCZMSetResume()	Set resume download flag for ZMODEM.

SWCZMSetRxBufferLength()	Set the size of receive buffer transmitted for ZMODEM.

SWCZMSetRxCharTimeout()	Set the ZMODEM receive character time-out value.

Flow Control Enable / Disable / Status Functions

The functions in this group enable and disable the various types of flow control supported by the SilverWare Windows Communications Tool Kit.

SWCDCBSetCtsTimeout()	Specifies the maximum amount of time in milliseconds the device should wait for the CTS (clear-to-send) signal.

SWCDCBSetDsrTimeout()	Specifies the maximum amount of time in milliseconds the device should wait for the DSR (data-set-ready) signal.

SWCDCBSetRlsTimeout()	Specifies the maximum amount of time in milliseconds the device should wait for the RLSD (receive-line-signal-detect) signal.

SWCDCBSetXoffLim()	Specifies the maximum number of characters allowed in the receive queue before the XOFF character is sent.

SWCDCBSetXonLim()	Specifies the minimum number of characters allowed in the receive queue before the XON character is sent.

SWCGetFlowStatus()	Returns what flow controls are currently enabled.

SWCSetDTRDSRFlowControl()	Enables or disables DTR/DSR flow control.

SWCSetRTSCTSFlowControl()	Enables or disables RTS/CTS flow control.

SWCSetXOFFCharacter()	Change the current XOFF Character.

SWCSetXONCharacter()	Change the current XON Character.

SWCSetXONXOFFFlowControl()	Enables or disables XON/XOFF flow control.

Miscellaneous Communications Functions

This group includes functions to calculate a checksum and CRC of a buffer and a function to translate an error code to a text string.

SWCAsyncDate()	This function will provide detailed information about the version of the SilverWare Windows Communications Tool Kit.

SWCAsyncRev()	Get current library revision.

SWCAsyncVer()	Get current library version.

SWCCalculateChecksum()	Calculates CHECKSUM of a buffer.

SWCCalculateCRC()	Calculates CRC of a buffer.

SWCCalculateXOR()	Calculates XOR of a buffer.

SWCErrorToText()	Converts an error return value to a string.

SWCGetWinCommError()	Get Windows communications error.

Queue Status / Control Functions

This group includes functions to check the status of and flush the transmit and receive queues.

SWCFlushReceiveQueue()	Empties the receive queue.

SWCFlushTransmitQueue()	Empties the transmit queue.

SWCGetReceiveCount()	Returns number of characters in the receive queue.

SWCGetReceiveOverflow()	Tests for a receive queue overflow condition.

SWCGetReceiveQueueSpace()	Returns amount of free space in receive queue.

SWCGetTransmitCount()	Returns number of characters in the transmit queue.

SWCGetTransmitQueueSpace()	Returns amount of free space in transmit queue.

SWCReceiveQueueEmpty()	Tests for a receive queue empty condition.

SWCReceiveQueueFull()	Tests for a receive queue full condition.

SWCTransmitQueueEmpty()	Tests for a transmit queue empty condition.

SWCTransmitQueueFull()	Tests for a transmit queue full condition.

Receive Data Functions

These functions are used to remove characters from the receive queue.

SWCReceiveBuffer()	Receive multiple characters from the receive queue to a specified character buffer.

SWCReceiveCharacter()	Returns next character from receive queue.

SWCReceiveString()	Provides the capability for a remote user to input a string of characters with backspace editing.

SWCWaitForCharacter()	Waits a specified amount of time for a character.

SWCWaitReceiveCount()	Waits a specified amount of time for a count of characters.

Setup / Initialization

The setup / initialization group of functions are used to setup a communications port for use.  Also included in this section are the functions that close the communication port.

SWCCloseAllPorts()	Close all open communication ports owned by the current task the were opened by (SWCT).

SWCCloseCom()	Notifies Windows that this application will no longer be using a particular COM port.

SWCGetCommDeviceNumber()	Retrieves a numeric COM port number for an open port.

SWCGetNextOpenPort()	Search for the next open communications port that is owned by your application.

SWCGetOpenPortCount()	Returns the number of ports opened with the SilverWare Windows Communications Tool Kit by the current task.

SWCGetWindowsPortID()	Converts a SilverWare Windows Communications Tool Kit Port_ID value to the Windows idComDev value.

SWCIsPortOpen()	Checks to see if a Port_ID is a valid ID  for an open communications port owned by your application.

SWCOpenCom()	Notifies Windows that this application wants to begin using a particular COM port.

SWSGetMaximumCom()	Returns the maximum number of COM ports that your installed Windows driver can access.

Smartmodem Functions

This section contains the functions that are used to control the Smartmodem.

SWCSMAutoAnswer()	Set Smartmodem auto answer to answer on Nth ring.

SWCSMCommandEcho()	Controls whether the Smartmodem will echo data sent to it when in command state.

SWCSMDial()	Send number to dial to the Smartmodem.

SWCSMDialMode()	Sets the dialing method used by the Smartmodem.

SWCSMEscape()	Send escape code to Smartmodem.

SWCSMExtendedResult()	Control the Smartmodem result code set to be used.

SWCSMFullHalf()	Controls the duplex mode of the Smartmodem.

SWCSMGetModemResponse()	Get modem response from receive queue.

SWCSMHook()	Controls the Smartmodem telephone switch hook.

SWCSMQuiet()	Controls the quiet mode on the Smartmodem.

SWCSMReset()	Sends a reset command to the Smartmodem.

SWCSMSetDelayAfterCommand()	This will set the amount of time to pause after a (SWCSM Smart Modem) function is called.  The default is 1 second.

SWCSMSetEscGuardTime()	Set the amount of time to delay before and after the escape sequence (+++) is sent using SWCSMEscape().

SWCSMSetInterBytePacing()	Set Smart Modem Inter Byte Pacing delay time.

SWCSMSetRegister()	Set Smartmodem internal registers.

SWCSMSetSmartModemSuffix()	Set the suffix value for all (SWCSM) functions.

SWCSMSpeaker()	Control the external speaker on the Smartmodem.

SWCSMSpeedDial()	Control the speed of the Smartmodem touch-tone dialer.

SWCSMTransmit()	Send Smartmodem setup string.

SWCSMVerbose()	Enables/disables verbose mode of the Smartmodem.

Status / Control Functions

This group of functions are used to control the modem control outputs of the UART.

SWCControlDTR()	Controls the state of the DTR signal on the UART.

SWCControlRTS()	Controls the state of the RTS signal on the UART.

Transmit Data Functions

The transmit data functions are used to transmit data to the UART.

SWCTransmitBuffer()	Transmits a buffer of characters.

SWCTransmitCharacter()	Puts character into transmit queue.

SWCTransmitImmediate()	Transmits the character specified immediately.

SWCTransmitString()	Transmits NULL terminated string of characters.

UART Status / Control

This group of functions are used to control various operating aspects of the UART.

SWCGetBaudRate()	Retrieves the baud rate currently set in the UART.

SWCGetBreakInterrupt()	Returns the status of the Break Interrupt bit.

SWCGetCarrierDetect()	Returns the status of the Carrier Detect bit.

SWCGetClearToSend()	Returns the status of the Clear To Send bit.

SWCGetDataSetReady()	Returns the status of the Data Set Ready bit.

SWCGetFramingError()	Returns the status of the Framing Error bit.

SWCGetOverrunError()	Returns the status of the Overrun Error bit.

SWCGetParity()	Returns the current parity setting in the UART.

SWCGetParityError()	Returns the status of the Parity Error bit.

SWCGetRingIndicator()	Returns the status of the Ring Indicator bit.

SWCGetStopBits()	Returns number of stop bits set in the UART.

SWCGetWordLength()	Returns the word length value in the UART.

SWCSetBaudRate()	Sets the baud rate in the UART.

SWCSetParity()	Sets the parity in the UART.

SWCSetStopBits()	Sets the number of stop bits in the UART.

SWCSetUART()	Sets baud rate, parity, data bits and stop bits in the UART.

SWCSetWordLength()	Sets the word length value in the UART.

SWCTransmitBreak()	Enables or disables the transmission of a break signal.


System Functions

The system functions are provided to manipulate directories and do logical operations on variables.

SWSBitWiseAnd()	Returns a bitwise AND of two values.

SWSBitWiseOr()	Returns a bitwise OR of two values.

SWSGetHighByte()	Extracts upper order 8 bits (byte) from a 16 bit value.

SWSGetLowByte()	Extract low order 8 bits (byte) from the 16 bit value.

SWSIsDir()	Checks for presence of a directory.

SWSMakeDir()	Creates a directory.

SWSMakeWord()	Combine the HighByte value with the LowByte value creating and returning a 16 bit value.

SWSRemoveDir()	Removes a directory.

SWSRingBell()	Play a waveform sound corresponding to a given system alert level.


Timer Functions_1
Timer Functions

The timer functions provide a variety of timing functions.  The range varies from simply returning the current seconds value to timers.

SWTCreateSystemTimer()	Creates a timer.

SWTDeleteAllTimers()	Deleate all active timers.

SWTDeleteSystemTimer()	Deleate a specific timer index.

SWTGetDOSSeconds()	Returns the seconds from DOS.

SWTGetSystemTickCount()	Return the current value of the system timer.

SWTGetTimer()	Current value of the timer specified.

SWTRestartTimer()	Restart an expired timer.

SWTResumeTimer()	Resume timer operation.

SWTStopTimer()	Stop a timer before the time has expired.

SWTWait()	Wait for a specified number of clock ticks.


What are programmers saying?

"The SilverWare Windows Communications Toolkit is the most Visual Basic-friendly of the DLL-based libraries . . ."  ". . . SilverWare provides the best trade-off between DLL power and Visual Basic usability."

Stuart R. Greenberg / VB  TECH  JOURNAL

"Your Windows Communications Tool Kit turns advanced serial communications into child's play..." "...I just called the functions and it worked the first time." "...using it with Visual Basic was a breeze..."

Bill McClenny, Ira B / Thayer Insurance Brokers

"I was highly impressed with how easy the SilverWare Windows Communication Tool Kit was to use with Clipper and FiveWin."

John Stolte / Omicron Software

"The quality and consistency has allowed me to migrate my applications from DOS to windows with little effort.  As a Delphi user, I appreciate the simplicity of incorporating Silverware's communications libraries into my applications."

Lowell Friedman / Can Do Software

"I got SilverWare's Library and in two days was able to get a small app communicating. It's a wonderful tool to use, and the support is impeccable."

George Lima / Coredata Inc.

"Silverware was the third communications package I purchased. All three packages made the same claims. Silverware was the only one that delivered.  The SilverWare Windows Communications Tool Kit worked with my language, right out of the box, and the support is incredible."

Ken Dickinson / Computer Solutions


Pricing and Availability
Give us a call!

To order your copy of the ultimate Windows communications tool kit contact SilverWare Inc. or one of the SilverWare Inc. dealers:

Address:	SilverWare Inc.

3010 LBJ Freeway  #740

Dallas. Tx

75234 (USA)

Telephone:	(214) 247-0131

Fax:	(214) 406-9999

BBS:	(214) 247-2177	300-19200/N/8/1

WWW:	http://rampages.onramp.net/~silver

Remember...

Price $299.00 USD...

No royalties...

Free technical support...

30 day money back guarantee...

MC / Visa / AMX or (COD Money Order)

Make your life a little easier and take advantage of the ultimate multi-language communications library for serious Windows developers.

Call Today!	SilverWare Inc. Dealers


Address and phone numbers
Give us a call!

You can contact us through the following:

Address:	SilverWare Inc.

3010 LBJ Freeway  #740

Dallas. Tx

75234 (USA)

Telephone:	(214) 247-0131

Fax:	(214) 406-9999

BBS:	(214) 247-2177	300-19200/N/8/1

WWW:	http://rampages.onramp.net/~silver


SilverWare Dealers
Dealers USA:

Programmers Paradise	(800) 445-7899

Programmers Shop	(800) 421-8006

Programmers Warehouse	(800) 323-1809

ZAC Catalogs	(800) 254-7737

Dealers not in the USA:

A-TEK Systems (NSW)	61 23 872 544

Grey Matter Ltd. (England)	44 1 36 465 4100

PRO-LIB (Germany)	49 86 546 1212

QBS Software Ltd. (England)	44 1 81 994 4842


shgwaitconnect
Set the number of seconds to wait for a connection this is also passed as a parameter.


shgwaitpause
Set number of seconds to pause between calls this is also passed as a parameter.


shgphoneicon
Phone icon that goes on and off hook then changes to modem when a connection is made.


shgselopenport
Select from a list of open COM ports.


shgzcrash
Enable/disable ZMODEM crash recovery (resume).


shgzcarrier
Enable/disable CARRIER signal

monitoring during file transfers.


shgzcrc16
Enable/disable ZMODEM CRC-32 calculation.


shgzbox
Enable/disable file transfer status display box.


shgzexitcode
Set ASCII file transfer exit code. (ie. EOF marker)


shgzmodemtimeout
Set ZMODEM time-out value.


shgzdelayaftertrans
Set X/Y/ZMODEM time value for the amount of time the display box will remain on the

screen after the transfer is complete.


shgzmaxretry
Set X\Y\ZMODEM retry value.


shgopencom
Choose a COM port to open.  Only ports available and not in use will be displayed.


shgopendtrrts
Enable DTR/RTS signals when opening the port.


shgselectdir
Select a directory.

Ideal for batch file transfer downloads.


shgselectdrive
Select a drive (supports CD drives).


shgselectfile
Select a file.


shgsetfilespec
Set file choices and extension filtering.


shgsetreadonly
Set file read only filter.


shgselftdir
Select file transfer direction.


shgselfttype
Select file transfer type.


shgnmtd
Pin 2, Transmit Data.


shgnmrd
Pin 3, Receive Data.


shgnmcts
Pin 5, Clear To Send.


shgnmdsr
Pin 6, Data Set Ready.


shgnmgrnd
Pin 7, Signal Ground.


shgnmdcd
Pin 8, Data Carrier Detect (CARRIER).


shgnmdtr
Pin 20, Data Terminal Ready.


shgnmp2and3
Pins 2 and 3 are crossed (TD <-> RD).


shgnmrtstocts
Pins 4 and 5 are crossed (RTS <-> CTS).


shgnm7togrns
Pins 7 and 7 are straight through ground.


shgnm8to20
Pins 8 and 20 are crossed (DCD <-> DSR).


Spread/VBX 2.1

Bring powerful interfaces to you Visual dBASE applications. Spread/VBX 2.1 is a powerful control used to implement spreadsheets, grids, toolbars and more. With over 250 properties it is the a comprehensive control.

Take FarPoint's Interface Designer and drastically reduce your development time.

Call for more information and pricing options. ask about our AWARE/VBX and TAB/PRO products as well!

FarPoint Technologies, Inc

133 Southcenter Court, Suite 1000

Morrisville, NC 27560

USA

Phone 	1 916 460 4551	1 800 645 5913

Fax	1 916 460 7606

BBS	1 919 460 5771


AWARE/VBX

The complete collection of formatted edit controls including a multi column ComboBox and ListBox


TAB/PRO

The professional and organized interface control for doing things like horizontal tabs and MS Office style "folder" tabs.


Asymetrix InfoModeler

Visual dBASE developers can document and design applications with English facts and example data. Asymetrix InfoModeler, the award winning tool, dynamically transforms your business facts into a set of correctly normalized database schema details. Imagine.... all your keys, indexes, relationships completely specified and validated by your clients.

Call for more information

Asymetrix Corporation

110 110th Avenue N.E., Suite 700

Bellevue, WA 98004

Phone	1-800-448-6543


Evolve for Windows

EVOLVE / dBASE

The XBase development environment that adapts to your needs

Evolve is a wrap-around shell for Multi-Edit that understands the dBASE programming language. It watches as you work, adjusting itself to your style. EVOLVE automates many of the tedious programming chores that take up too much of your time. Code is automatically expanded and commented; source files are located for you; database structures are manipulated with the touch of a key.... And, of course, you get all the benefits of Multi-Edit, the best programmer's editor on the market!

Kick your development cycle into warp drive with these time saving features:

Function Writer

Creates functions, with or without headers, from marked blocks of code, replaces the block with a call to the function, reindents created function as well as same-line commenting if entered.

Function Browser

Point at a command line and browse through functions with a single keystroke, scan through various classes and methods within classes, edit as well as "view-only"modes, extended mode allows browsing of buffers or entire applications, browser menu for later reference.

Hierarchical Search

Locates referenced source and displays the "Object"for viewing or editing (allows Multi-Edit to locate and source file, loaded or not), supports reference editing of header files in #INCLUDE statements.

Coordinate Processing System

Position and size frames and windows using Multi-Edit's block-mark facility, then translate marked display into window coordinates with a single keystroke.

Adaptive Observation

Significant keystrokes are constantly monitored to provide automatic template expansion of procedures, commands and functions, highlights code within matching braces as they are closed.

Database Structures

View database and index files structures from within Multi-Edit, instantly create comment blocks from file structures.

Fully Menu or Key-Driven

Completely Reconfigurable

Template Expansion Support

Automatic expansion of double and single quotation marks and brackets.

PLUS:

Brace/Parentheses Matching and Highlighting

Automatic Brace/Parentheses Completion

Operator Alignment

Commenting Support

Source Code Report Writer

Code Condenser

Pre-Processor Support

On-Line Help

Object Editing

Database Structure Support

Evolve is available for Multi-Edit for DOS and Multi-Edit for Windows.

For more information on Evolve or Multi-Edit, call: 1-800-899-0100 or email our sales department at: sales@amcyber.com

Multi-Edit and Evolve are trademarks of American Cybernetics, Inc. Windows is a trademark of the Microsoft Corporation. Other product names are the trademarks of their respective publishers.


Multi-Edit

Multi-Edit for DOS is a richly-featured, easy-to-use and completely reconfigurable programmer's editor. It delivers all the features you'd expect of a well-built, thoughtfully implemented professional development tool and many time-saving options to make programming, faster, easier, and more enjoyable. And thanks to Multi-Edit's common-sense interface design, you won't have to sacrifice productivity while you learn. All the basic operations are right where you'd expect to find them and they work just the way they should, allowing you to simply install, select a few options and go. Yet, when you're ready to explore the full range of capabilities this robust development environment offers, all the sophisticated features and power you could ask for are right there - just a keystroke away, along with context-sensitive hypertext help on how to use them.

Multi-Edit for Windows combines the power and flexibility that Multi-Edit is known for with the integration and graphical ease of Windows. Easily integrate compilers, linkers and makers without leaving the editor. Integration into an exiting environment is possible through powerful DDE and DLL support. Link in any help files for full context/language sensitive help. The enhanced macro language is powerful enough to be utilized to write entire Windows applications. A full DLL API is provided allowing extensions to be written in almost any language. Provides unparalleled seamless interface to most version control systems including PVCS, TLIB, SourceSafe, MKS-RCS and PAN-LCM. Full check-in/out, histories, differencing and archive maintenance are available without leaving Multi-Edit. Completely customize without the need to write macros or edit .ini files. Much more! In this document you can view the features of both the DOS and the Windows version of Multi-Edit.

If you have any additional questions about Multi-Edit, please call our 800 number: 1-800-899-0100, or send email to our sales department at sales@amcyber.com

Multi-Edit is a trademark of American Cybernetics, Inc. Windows is a trademark of the Microsoft Corporation. Other product names are the trademarks of their respective publishers.


SymWin

WYSIWYG Form and Report Designer in One!

SymWin provides complete forms design capability from within your Windows program.

True Windows-based .DLL for complete and direct integration into Visual dBASE. Supports all Windows printers, graphics images and Windows truetype fonts. Includes WYSIWYG forms design and screen preview. Publishing templates for catalogs, newsletters, and other pre-formatted output. Use with Barcode Fonts.

Price U$449

Phone : (303) 340-3404

Fax : (303) 340-4404

14221 East 4th Ave

Suite 220

Aurora

Colorado 80011


BRAZIL

Brazil

Borland Latin America

100 Borland Way

Scotts Valley, CA, 95066

USA

Contact: J.F.Gonzalez ,Sales Manager

Phone: +1 408-431-4162

Fax: +1 408-431-4113


FREE Electronic News Letter

Announcing the Visual_dBASE list server

By joining this email list, you will automatically receive technical, product and market information and news that relates directly to using Visual dBASE. All you need is an email account. It can be at your home, in your office, directly on the Internet or via an online service. You will not be "flooded" with lengthy messages, the idea is to keep you up to date, not overwhelmed!

To subscribe to the Visual_dBASE list server, you can use our listserver subscription form on the World Wide Web at "http://mirror.borland.com/Connect/interact.html".

Alternatively, if you wish to subscribe manually (or you don't have WWW access), send an email message to "listserv@borland.com", in the message body type "subscribe visual_dbase <First_Name> <Last_Name>". That's it, you will soon receive a welcome message, so that you know you have been successful.


Aragon Toolbox
Aragon Toolbox for Visual dBASE 5.5

The Aragon Toolbox for Visual dBASE 5.5 is a collection of tools to help make Visual dBASE applications easy to build.  All dBASE code used to make the Toolbox is not compiled and may be used as learning material.

The Toolbox Palette appears once the Aragon Toolbox is started

•	Resource/Graphic Viewer to view the graphics stored as bitmap resources in a DLL or  as a ICO, BMP, WMF or PCX

•	Icon Extractor to view and save icons from files that contain them.

•	Button Generator to create and save your favorite custom buttons

•	Button Library to view the buttons installed in the Custom tab of the Control Palette

•	Sample Gadgets are a collection of templates which you can use as is or customized to your needs

•	Database Info. utility to view information on local or sever databases

•	2-Way Conversion Tool to convert forms (*.WFM) into custom controls (*.CC) and vice versa

•	System Resources is a utility that checks the resources available

Classes Include

Class:  BrowserForm

Class:  CheckForm

Class:  CopyStruForm

Class:  CopyTablForm

Class:  DirBox(form, name)

Class:  DriveCombo(form, name)

Class:  Meter(form, name)

Class:  OkBox(dtSource, szMessage, szTitle)

Class:  OkCancBox(dtSource, szMessage, szTitle)

Class:  OkCanRetBox(dtSource, szMessage, szTitle)

Class:  YesNoBox(dtSource, szMessage, szTitle)

Class:  OPrint

Class:  OReport

Class:  OTable

Class:  PswForm

Class:  StatusBaForm(n, szCommand)

Class:  All PushButtons

Where To Get More Information

Aragon Technologies International Inc.

C.P. 970, Succ. Desjardins

Montreal, Quebec

Canada

H5B 1C1

Aragon Customer Service

Telephone:  (514) 926-1078

FAX:  (514) 926-0891